aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.compass/config.rb30
-rw-r--r--.gitignore5
-rw-r--r--.ruby-version2
-rw-r--r--.travis.yml1
-rw-r--r--.tx/config2
-rw-r--r--Gemfile25
-rw-r--r--Gemfile.lock148
-rw-r--r--LICENSE.txt2
-rw-r--r--README.md5
-rw-r--r--Rakefile4
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.eot (renamed from public/stylesheets/fonts/delicious-bold-webfont.eot)bin21160 -> 21160 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.svg (renamed from public/stylesheets/fonts/delicious-bold-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.ttf (renamed from public/stylesheets/fonts/delicious-bold-webfont.ttf)bin42648 -> 42648 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.woff (renamed from public/stylesheets/fonts/delicious-bold-webfont.woff)bin24328 -> 24328 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.eot (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.eot)bin24992 -> 24992 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.svg (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.ttf (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.ttf)bin51020 -> 51020 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.woff (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.woff)bin28268 -> 28268 bytes
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.eot (renamed from public/stylesheets/fonts/delicious-heavy-webfont.eot)bin21199 -> 21199 bytes
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.svg (renamed from public/stylesheets/fonts/delicious-heavy-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.ttf (renamed from public/stylesheets/fonts/delicious-heavy-webfont.ttf)bin42744 -> 42744 bytes
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.woff (renamed from public/stylesheets/fonts/delicious-heavy-webfont.woff)bin24308 -> 24308 bytes
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.eot (renamed from public/stylesheets/fonts/delicious-italic-webfont.eot)bin23704 -> 23704 bytes
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.svg (renamed from public/stylesheets/fonts/delicious-italic-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.ttf (renamed from public/stylesheets/fonts/delicious-italic-webfont.ttf)bin50464 -> 50464 bytes
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.woff (renamed from public/stylesheets/fonts/delicious-italic-webfont.woff)bin27080 -> 27080 bytes
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.eot (renamed from public/stylesheets/fonts/delicious-roman-webfont.eot)bin20415 -> 20415 bytes
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.svg (renamed from public/stylesheets/fonts/delicious-roman-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.ttf (renamed from public/stylesheets/fonts/delicious-roman-webfont.ttf)bin42508 -> 42508 bytes
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.woff (renamed from public/stylesheets/fonts/delicious-roman-webfont.woff)bin23432 -> 23432 bytes
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.eot (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.eot)bin9940 -> 9940 bytes
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.svg (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.ttf (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.ttf)bin20936 -> 20936 bytes
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.woff (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.woff)bin12284 -> 12284 bytes
-rw-r--r--app/assets/images/README.txt (renamed from public/images/README.txt)0
-rw-r--r--app/assets/images/arrow-left.png (renamed from public/images/arrow-left.png)bin353 -> 353 bytes
-rw-r--r--app/assets/images/arrow-right.png (renamed from public/images/arrow-right.png)bin439 -> 439 bytes
-rw-r--r--app/assets/images/bighand.png (renamed from public/images/bighand.png)bin2153 -> 2153 bytes
-rw-r--r--app/assets/images/button-gradient-large.png (renamed from public/images/button-gradient-large.png)bin266 -> 266 bytes
-rw-r--r--app/assets/images/button-gradient.png (renamed from public/images/button-gradient.png)bin329 -> 329 bytes
-rw-r--r--app/assets/images/button-preview.png (renamed from public/images/button-preview.png)bin1743 -> 1743 bytes
-rw-r--r--app/assets/images/button-search.png (renamed from public/images/button-search.png)bin1761 -> 1761 bytes
-rw-r--r--app/assets/images/calendar.png (renamed from public/images/calendar.png)bin388 -> 388 bytes
-rw-r--r--app/assets/images/defaultprofilepic.png (renamed from public/images/defaultprofilepic.png)bin4061 -> 4061 bytes
-rw-r--r--app/assets/images/email-16.png (renamed from public/images/email-16.png)bin313 -> 313 bytes
-rwxr-xr-xapp/assets/images/fancybox-x.png (renamed from public/stylesheets/fancybox-x.png)bin203 -> 203 bytes
-rwxr-xr-xapp/assets/images/fancybox-y.png (renamed from public/stylesheets/fancybox-y.png)bin176 -> 176 bytes
-rwxr-xr-xapp/assets/images/fancybox.png (renamed from public/stylesheets/fancybox.png)bin15287 -> 15287 bytes
-rw-r--r--app/assets/images/favicon.ico (renamed from public/favicon.ico)bin22382 -> 22382 bytes
-rw-r--r--app/assets/images/feed-14.png (renamed from public/images/feed-14.png)bin689 -> 689 bytes
-rw-r--r--app/assets/images/feed-16.png (renamed from public/images/feed-16.png)bin764 -> 764 bytes
-rw-r--r--app/assets/images/feed-28.png (renamed from public/images/feed-28.png)bin1737 -> 1737 bytes
-rw-r--r--app/assets/images/flying-computer.png (renamed from public/images/flying-computer.png)bin10357 -> 10357 bytes
-rw-r--r--app/assets/images/glyphicons-halflings-white.png (renamed from public/admin/images/glyphicons-halflings-white.png)bin8777 -> 8777 bytes
-rw-r--r--app/assets/images/glyphicons-halflings.png (renamed from public/admin/images/glyphicons-halflings.png)bin13826 -> 13826 bytes
-rw-r--r--app/assets/images/helpmeinvestigate.png (renamed from public/images/helpmeinvestigate.png)bin607 -> 607 bytes
-rw-r--r--app/assets/images/home-grad.png (renamed from public/images/home-grad.png)bin306 -> 306 bytes
-rw-r--r--app/assets/images/icon-foi.png (renamed from public/images/icon-foi.png)bin320 -> 320 bytes
-rw-r--r--app/assets/images/icon-person.png (renamed from public/images/icon-person.png)bin345 -> 345 bytes
-rw-r--r--app/assets/images/icon-publicbody.png (renamed from public/images/icon-publicbody.png)bin356 -> 356 bytes
-rw-r--r--app/assets/images/icon_application_octet-stream_large.png (renamed from public/images/icon_application_octet-stream_large.png)bin3184 -> 3184 bytes
-rw-r--r--app/assets/images/icon_application_pdf_large.png (renamed from public/images/icon_application_pdf_large.png)bin2522 -> 2522 bytes
-rw-r--r--app/assets/images/icon_application_rtf_large.png (renamed from public/images/icon_application_rtf_large.png)bin2564 -> 2564 bytes
-rw-r--r--app/assets/images/icon_application_vnd.ms-excel_large.png (renamed from public/images/icon_application_vnd.ms-excel_large.png)bin2891 -> 2891 bytes
-rw-r--r--app/assets/images/icon_application_vnd.ms-powerpoint_large.png (renamed from public/images/icon_application_vnd.ms-powerpoint_large.png)bin2495 -> 2495 bytes
-rw-r--r--app/assets/images/icon_application_vnd.ms-word_large.png (renamed from public/images/icon_application_vnd.ms-word_large.png)bin2775 -> 2775 bytes
l---------app/assets/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png (renamed from public/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png)0
l---------app/assets/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png (renamed from public/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png)0
l---------app/assets/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png (renamed from public/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png)0
-rw-r--r--app/assets/images/icon_application_zip_large.png (renamed from public/images/icon_application_zip_large.png)bin2863 -> 2863 bytes
-rw-r--r--app/assets/images/icon_image_bmp_large.png (renamed from public/images/icon_image_bmp_large.png)bin2774 -> 2774 bytes
-rw-r--r--app/assets/images/icon_image_gif_large.png (renamed from public/images/icon_image_gif_large.png)bin2575 -> 2575 bytes
-rw-r--r--app/assets/images/icon_image_jpeg_large.png (renamed from public/images/icon_image_jpeg_large.png)bin2633 -> 2633 bytes
-rw-r--r--app/assets/images/icon_image_png_large.png (renamed from public/images/icon_image_png_large.png)bin2736 -> 2736 bytes
-rw-r--r--app/assets/images/icon_image_tiff_large.png (renamed from public/images/icon_image_tiff_large.png)bin2552 -> 2552 bytes
-rw-r--r--app/assets/images/icon_message_delivery-status_large.png (renamed from public/images/icon_message_delivery-status_large.png)bin3184 -> 3184 bytes
-rw-r--r--app/assets/images/icon_text_html_large.png (renamed from public/images/icon_text_html_large.png)bin3259 -> 3259 bytes
-rw-r--r--app/assets/images/icon_text_plain_large.png (renamed from public/images/icon_text_plain_large.png)bin2138 -> 2138 bytes
-rw-r--r--app/assets/images/icon_text_x-vcard_large.png (renamed from public/images/icon_text_x-vcard_large.png)bin2779 -> 2779 bytes
-rw-r--r--app/assets/images/icon_unknown.png (renamed from public/images/icon_unknown.png)bin3604 -> 3604 bytes
-rw-r--r--app/assets/images/link-icon.png (renamed from public/images/link-icon.png)bin304 -> 304 bytes
-rw-r--r--app/assets/images/littlehand.png (renamed from public/images/littlehand.png)bin1113 -> 1113 bytes
-rw-r--r--app/assets/images/logo.pngbin0 -> 1356 bytes
-rw-r--r--app/assets/images/navimg/alaveteli-logo-header.png (renamed from public/images/navimg/alaveteli-logo-header.png)bin1639 -> 1639 bytes
-rw-r--r--app/assets/images/navimg/alaveteli-logo.png (renamed from public/images/navimg/alaveteli-logo.png)bin2278 -> 2278 bytes
-rw-r--r--app/assets/images/navimg/auth-icon.png (renamed from public/images/navimg/auth-icon.png)bin982 -> 982 bytes
-rw-r--r--app/assets/images/navimg/bnnr-ifyoudontask-24bit.png (renamed from public/images/navimg/bnnr-ifyoudontask-24bit.png)bin145459 -> 145459 bytes
-rw-r--r--app/assets/images/navimg/bnnr-ifyoudontask.png (renamed from public/images/navimg/bnnr-ifyoudontask.png)bin55741 -> 55741 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp-100px.jpg (renamed from public/images/navimg/bnnr-temp-100px.jpg)bin20020 -> 20020 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp-100pxa.jpg (renamed from public/images/navimg/bnnr-temp-100pxa.jpg)bin16086 -> 16086 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp-100pxb.jpg (renamed from public/images/navimg/bnnr-temp-100pxb.jpg)bin11552 -> 11552 bytes
-rwxr-xr-xapp/assets/images/navimg/bnnr-temp-100pxc.jpg (renamed from public/images/navimg/bnnr-temp-100pxc.jpg)bin15905 -> 15905 bytes
-rwxr-xr-xapp/assets/images/navimg/bnnr-temp-100pxd.jpg (renamed from public/images/navimg/bnnr-temp-100pxd.jpg)bin12203 -> 12203 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp.jpg (renamed from public/images/navimg/bnnr-temp.jpg)bin31690 -> 31690 bytes
-rw-r--r--app/assets/images/navimg/infobug20px.png (renamed from public/images/navimg/infobug20px.png)bin998 -> 998 bytes
-rw-r--r--app/assets/images/navimg/logo-trans-small.png (renamed from public/images/navimg/logo-trans-small.png)bin4445 -> 4445 bytes
-rw-r--r--app/assets/images/navimg/logo-trans.png (renamed from public/images/navimg/logo-trans.png)bin6040 -> 6040 bytes
-rwxr-xr-xapp/assets/images/navimg/mysoc-logo-header.png (renamed from public/images/navimg/mysoc-logo-header.png)bin1300 -> 1300 bytes
-rw-r--r--app/assets/images/navimg/mysoc-logo-small.png (renamed from public/images/navimg/mysoc-logo-small.png)bin1182 -> 1182 bytes
-rwxr-xr-xapp/assets/images/navimg/quote-open-small.png (renamed from public/images/navimg/quote-open-small.png)bin197 -> 197 bytes
-rw-r--r--app/assets/images/navimg/quote-open.png (renamed from public/images/navimg/quote-open.png)bin293 -> 293 bytes
-rw-r--r--app/assets/images/navimg/request-icon.png (renamed from public/images/navimg/request-icon.png)bin440 -> 440 bytes
-rw-r--r--app/assets/images/navimg/status-icons-attn.png (renamed from public/images/navimg/status-icons-attn.png)bin870 -> 870 bytes
-rw-r--r--app/assets/images/navimg/status-icons-error-message.png (renamed from public/images/navimg/status-icons-error-message.png)bin2395 -> 2395 bytes
-rw-r--r--app/assets/images/navimg/status-icons-fail.png (renamed from public/images/navimg/status-icons-fail.png)bin822 -> 822 bytes
-rw-r--r--app/assets/images/navimg/status-icons-internal-review.png (renamed from public/images/navimg/status-icons-internal-review.png)bin2218 -> 2218 bytes
-rw-r--r--app/assets/images/navimg/status-icons-not-held.png (renamed from public/images/navimg/status-icons-not-held.png)bin2220 -> 2220 bytes
-rwxr-xr-xapp/assets/images/navimg/status-icons-post.png (renamed from public/images/navimg/status-icons-post.png)bin860 -> 860 bytes
-rw-r--r--app/assets/images/navimg/status-icons-succeed.png (renamed from public/images/navimg/status-icons-succeed.png)bin926 -> 926 bytes
-rw-r--r--app/assets/images/navimg/status-icons-user-withdrawn.png (renamed from public/images/navimg/status-icons-user-withdrawn.png)bin2937 -> 2937 bytes
-rw-r--r--app/assets/images/navimg/status-icons-wait.png (renamed from public/images/navimg/status-icons-wait.png)bin889 -> 889 bytes
-rw-r--r--app/assets/images/navimg/user-icon.png (renamed from public/images/navimg/user-icon.png)bin462 -> 462 bytes
-rw-r--r--app/assets/images/petitions.png (renamed from public/images/petitions.png)bin469 -> 469 bytes
-rw-r--r--app/assets/images/pledgebank.png (renamed from public/images/pledgebank.png)bin1126 -> 1126 bytes
-rw-r--r--app/assets/images/quote-marks.png (renamed from public/images/quote-marks.png)bin464 -> 464 bytes
-rw-r--r--app/assets/images/rails.png (renamed from public/images/rails.png)bin1787 -> 1787 bytes
-rw-r--r--app/assets/images/rss-16.png (renamed from public/images/rss-16.png)bin905 -> 905 bytes
-rw-r--r--app/assets/images/rss-blue.png (renamed from public/images/rss-blue.png)bin490 -> 490 bytes
-rw-r--r--app/assets/images/rss-orange.png (renamed from public/images/rss-orange.png)bin545 -> 545 bytes
-rw-r--r--app/assets/images/rss.png (renamed from public/images/rss.png)bin6171 -> 6171 bytes
-rw-r--r--app/assets/images/search-button.png (renamed from public/images/search-button.png)bin526 -> 526 bytes
-rw-r--r--app/assets/images/small-white-cross.png (renamed from public/images/small-white-cross.png)bin355 -> 355 bytes
-rw-r--r--app/assets/images/start-button.png (renamed from public/images/start-button.png)bin809 -> 809 bytes
-rw-r--r--app/assets/images/status-complete.png (renamed from public/images/status-complete.png)bin878 -> 878 bytes
-rw-r--r--app/assets/images/status-denied.png (renamed from public/images/status-denied.png)bin969 -> 969 bytes
-rw-r--r--app/assets/images/status-error.png (renamed from public/images/status-error.png)bin788 -> 788 bytes
-rw-r--r--app/assets/images/status-gone-postal.png (renamed from public/images/status-gone-postal.png)bin882 -> 882 bytes
-rw-r--r--app/assets/images/status-internal-review.png (renamed from public/images/status-internal-review.png)bin965 -> 965 bytes
-rw-r--r--app/assets/images/status-not-held.png (renamed from public/images/status-not-held.png)bin917 -> 917 bytes
-rw-r--r--app/assets/images/status-overdue.png (renamed from public/images/status-overdue.png)bin1049 -> 1049 bytes
-rw-r--r--app/assets/images/status-pending.png (renamed from public/images/status-pending.png)bin1031 -> 1031 bytes
-rw-r--r--app/assets/images/status-withdrawn.png (renamed from public/images/status-withdrawn.png)bin891 -> 891 bytes
-rw-r--r--app/assets/images/stripes-70-light.png (renamed from public/images/stripes-70-light.png)bin260 -> 260 bytes
-rw-r--r--app/assets/images/stripes-70-light2.png (renamed from public/images/stripes-70-light2.png)bin263 -> 263 bytes
-rw-r--r--app/assets/images/stripes-70.png (renamed from public/images/stripes-70.png)bin49397 -> 49397 bytes
-rw-r--r--app/assets/images/stripes.png (renamed from public/images/stripes.png)bin49397 -> 49397 bytes
-rw-r--r--app/assets/images/twitter-16.png (renamed from public/images/twitter-16.png)bin586 -> 586 bytes
-rw-r--r--app/assets/images/twitter.png (renamed from public/images/twitter.png)bin1486 -> 1486 bytes
-rw-r--r--app/assets/images/ui-icons-theme.png (renamed from public/images/ui-icons-theme.png)bin4863 -> 4863 bytes
-rw-r--r--app/assets/images/wordpress.png (renamed from public/images/wordpress.png)bin631 -> 631 bytes
-rw-r--r--app/assets/images/writetothem.png (renamed from public/images/writetothem.png)bin585 -> 585 bytes
-rw-r--r--app/assets/javascripts/admin.js7
-rw-r--r--app/assets/javascripts/admin/admin.js.coffee (renamed from public/admin/javascripts/admin.coffee)0
-rw-r--r--app/assets/javascripts/admin/bootstrap-collapse.js (renamed from public/admin/javascripts/bootstrap-collapse.js)0
-rw-r--r--app/assets/javascripts/admin/bootstrap-tab.js (renamed from public/admin/javascripts/bootstrap-tab.js)0
-rw-r--r--app/assets/javascripts/application.js6
-rw-r--r--app/assets/javascripts/ba-throttle-debounce.js (renamed from public/javascripts/ba-throttle-debounce.js)0
-rw-r--r--app/assets/javascripts/bootstrap-collapse.js (renamed from public/javascripts/bootstrap-collapse.js)0
-rw-r--r--app/assets/javascripts/bootstrap-tab.js (renamed from public/javascripts/bootstrap-tab.js)0
-rw-r--r--app/assets/javascripts/excanvas.min.js (renamed from public/javascripts/excanvas.min.js)0
-rw-r--r--app/assets/javascripts/general.js (renamed from public/javascripts/general.js)0
-rw-r--r--app/assets/javascripts/jquery.Jcrop.js (renamed from public/javascripts/jquery.Jcrop.js)0
-rw-r--r--app/assets/javascripts/jquery.cookie.js (renamed from public/javascripts/jquery.cookie.js)0
-rwxr-xr-xapp/assets/javascripts/jquery.fancybox-1.3.4.pack.js (renamed from public/javascripts/jquery.fancybox-1.3.4.pack.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.axislabels.js (renamed from public/javascripts/jquery.flot.axislabels.js)6
-rw-r--r--app/assets/javascripts/jquery.flot.axislabels.min.js1
-rw-r--r--app/assets/javascripts/jquery.flot.errorbars.js353
-rw-r--r--app/assets/javascripts/jquery.flot.errorbars.min.js1
-rw-r--r--app/assets/javascripts/jquery.flot.js3078
-rw-r--r--app/assets/javascripts/jquery.flot.min.js1
-rw-r--r--app/assets/javascripts/jquery.flot.tickrotor.js205
-rw-r--r--app/assets/javascripts/jquery.flot.tickrotor.min.js1
-rw-r--r--app/assets/javascripts/jquery.form.js (renamed from public/javascripts/jquery.form.js)0
-rw-r--r--app/assets/javascripts/jquery.js (renamed from public/javascripts/jquery.js)0
-rw-r--r--app/assets/javascripts/jquery_ujs.js (renamed from public/javascripts/jquery_ujs.js)0
-rw-r--r--app/assets/javascripts/profile-photos.js3
-rw-r--r--app/assets/javascripts/profile_photo.js (renamed from public/javascripts/profile_photo.js)0
-rw-r--r--app/assets/javascripts/stats-graphs.js (renamed from public/javascripts/stats-graphs.js)52
-rw-r--r--app/assets/javascripts/stats.js6
-rw-r--r--app/assets/stylesheets/admin.scss (renamed from app/sass/admin.scss)0
-rw-r--r--app/assets/stylesheets/application.css7
-rw-r--r--app/assets/stylesheets/custom.css5
-rw-r--r--app/assets/stylesheets/fonts.scss73
-rw-r--r--app/assets/stylesheets/ie6.css (renamed from public/stylesheets/ie6.css)0
-rw-r--r--app/assets/stylesheets/ie7.css (renamed from public/stylesheets/ie7.css)0
-rwxr-xr-xapp/assets/stylesheets/jquery-ui-1.8.15.custom.css (renamed from public/stylesheets/admin-theme/jquery-ui-1.8.15.custom.css)2
-rw-r--r--app/assets/stylesheets/jquery.Jcrop.css (renamed from public/stylesheets/jquery.Jcrop.css)0
-rwxr-xr-xapp/assets/stylesheets/jquery.fancybox-1.3.4.css (renamed from public/stylesheets/jquery.fancybox-1.3.4.css)0
-rw-r--r--app/assets/stylesheets/main.scss (renamed from public/stylesheets/main.css)52
-rw-r--r--app/assets/stylesheets/print.css (renamed from public/stylesheets/print.css)0
-rw-r--r--app/controllers/admin_public_body_controller.rb2
-rw-r--r--app/controllers/api_controller.rb2
-rw-r--r--app/controllers/application_controller.rb4
-rw-r--r--app/controllers/general_controller.rb60
-rw-r--r--app/controllers/public_body_controller.rb90
-rw-r--r--app/controllers/request_controller.rb21
-rw-r--r--app/controllers/track_controller.rb8
-rw-r--r--app/helpers/application_helper.rb15
-rw-r--r--app/mailers/request_mailer.rb9
-rw-r--r--app/models/foi_attachment.rb2
-rw-r--r--app/models/incoming_message.rb8
-rw-r--r--app/models/info_request.rb84
-rw-r--r--app/models/outgoing_message.rb2
-rw-r--r--app/models/public_body.rb124
-rw-r--r--app/models/user.rb2
-rw-r--r--app/views/admin_public_body/_form.html.erb14
-rw-r--r--app/views/comment/_single_comment.html.erb6
-rw-r--r--app/views/general/_footer.html.erb4
-rw-r--r--app/views/general/_frontpage_bodies_list.html.erb5
-rw-r--r--app/views/general/_frontpage_requests_list.html.erb3
-rw-r--r--app/views/general/_header.html.erb37
-rw-r--r--app/views/general/_stylesheet_includes.html.erb13
-rw-r--r--app/views/general/_topnav.html.erb2
-rw-r--r--app/views/general/blog.html.erb4
-rw-r--r--app/views/general/frontpage.html.erb3
-rw-r--r--app/views/general/search.html.erb10
-rw-r--r--app/views/help/api.html.erb2
-rw-r--r--app/views/layouts/_favicon.html.erb2
-rw-r--r--app/views/layouts/admin.html.erb5
-rw-r--r--app/views/layouts/default.html.erb49
-rw-r--r--app/views/layouts/no_chrome.html.erb8
-rw-r--r--app/views/public_body/_search_ahead.html.erb4
-rw-r--r--app/views/public_body/statistics.html.erb8
-rw-r--r--app/views/reports/new.html.erb8
-rw-r--r--app/views/request/_act.html.erb15
-rw-r--r--app/views/request/_bubble.html.erb6
-rw-r--r--app/views/request/_incoming_correspondence.text.erb2
-rw-r--r--app/views/request/_outgoing_correspondence.text.erb2
-rw-r--r--app/views/request/_request_listing_single.html.erb10
-rw-r--r--app/views/request/_sidebar.html.erb27
-rw-r--r--app/views/request/_view_html_prefix.html.erb2
-rw-r--r--app/views/request/new.html.erb1
-rw-r--r--app/views/request/select_authority.html.erb1
-rw-r--r--app/views/request/show.text.erb8
-rw-r--r--app/views/track/_tracking_links.html.erb2
-rw-r--r--app/views/track/atom_feed.atom.erb2
-rw-r--r--app/views/user/_show_user_info.html.erb2
m---------commonlib0
-rw-r--r--config/application.rb36
-rw-r--r--config/deploy.rb4
-rw-r--r--config/deploy.yml.example2
-rw-r--r--config/environments/development.rb14
-rw-r--r--config/environments/production.rb17
-rw-r--r--config/environments/test.rb5
-rw-r--r--config/general.yml-example5
-rw-r--r--config/initializers/acts_as_xapian.rb25
-rw-r--r--config/initializers/alaveteli.rb3
-rw-r--r--config/initializers/has_tag_string.rb2
-rw-r--r--config/initializers/strip_attributes.rb2
-rw-r--r--config/initializers/theme_loader.rb7
-rw-r--r--config/packages1
-rw-r--r--config/test.yml2
-rw-r--r--db/migrate/20131101155844_add_stats_denominator.rb15
-rw-r--r--doc/ADMIN.md19
-rw-r--r--doc/CHANGES.md28
-rw-r--r--doc/INSTALL.md9
-rw-r--r--doc/THEME-ASSETS-UPGRADE.md76
-rw-r--r--doc/TRANSLATE.md6
-rw-r--r--lib/acts_as_xapian/.gitignore (renamed from vendor/plugins/acts_as_xapian/.gitignore)0
-rw-r--r--lib/acts_as_xapian/LICENSE.txt (renamed from vendor/plugins/acts_as_xapian/LICENSE.txt)0
-rw-r--r--lib/acts_as_xapian/README.txt (renamed from vendor/plugins/acts_as_xapian/README.txt)0
-rw-r--r--lib/acts_as_xapian/acts_as_xapian.rb (renamed from vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb)2
-rw-r--r--lib/acts_as_xapian/tasks/xapian.rake (renamed from vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake)0
-rw-r--r--lib/configuration.rb1
-rw-r--r--lib/generators/acts_as_xapian/USAGE (renamed from vendor/plugins/acts_as_xapian/generators/acts_as_xapian/USAGE)0
-rw-r--r--lib/generators/acts_as_xapian/acts_as_xapian_generator.rb10
-rw-r--r--lib/generators/acts_as_xapian/templates/migration.rb (renamed from vendor/plugins/acts_as_xapian/generators/acts_as_xapian/templates/migration.rb)0
-rw-r--r--lib/has_tag_string/README.txt (renamed from vendor/plugins/has_tag_string/README.txt)0
-rw-r--r--lib/has_tag_string/has_tag_string.rb (renamed from vendor/plugins/has_tag_string/lib/has_tag_string.rb)0
-rw-r--r--lib/i18n_fixes.rb2
-rw-r--r--lib/mail_handler/backends/mail_backend.rb4
-rw-r--r--lib/mail_handler/backends/mail_extensions.rb66
-rw-r--r--lib/mail_handler/mail_handler.rb2
-rw-r--r--lib/no_constraint_disabling.rb2
-rw-r--r--lib/quiet_opener.rb37
-rw-r--r--lib/strip_attributes/README.rdoc (renamed from vendor/plugins/strip_attributes/README.rdoc)0
-rw-r--r--lib/strip_attributes/Rakefile (renamed from vendor/plugins/strip_attributes/Rakefile)0
-rw-r--r--lib/strip_attributes/strip_attributes.rb (renamed from vendor/plugins/strip_attributes/lib/strip_attributes.rb)0
-rw-r--r--lib/strip_attributes/test/strip_attributes_test.rb (renamed from vendor/plugins/strip_attributes/test/strip_attributes_test.rb)0
-rw-r--r--lib/strip_attributes/test/test_helper.rb (renamed from vendor/plugins/strip_attributes/test/test_helper.rb)0
-rw-r--r--lib/tasks/gettext.rake4
-rw-r--r--lib/tasks/import.rake78
-rw-r--r--lib/tasks/stats.rake19
-rw-r--r--lib/tasks/temp.rake316
-rw-r--r--lib/tasks/themes.rake144
-rw-r--r--lib/theme.rb3
-rw-r--r--lib/whatdotheyknow/strip_empty_sessions.rb4
-rw-r--r--lib/world_foi_websites.rb15
-rw-r--r--locale/aln/app.po29
-rw-r--r--locale/app.pot23
-rw-r--r--locale/ar/app.po29
-rw-r--r--locale/bg/app.po1107
-rw-r--r--locale/bs/app.po29
-rw-r--r--locale/ca/app.po29
-rw-r--r--locale/cs/app.po29
-rw-r--r--locale/cy/app.po1823
-rw-r--r--locale/de/app.po29
-rw-r--r--locale/en/app.po23
-rw-r--r--locale/en_IE/app.po29
-rw-r--r--locale/en_UG/app.po3510
-rw-r--r--locale/es/app.po29
-rw-r--r--locale/eu/app.po29
-rw-r--r--locale/fi/app.po29
-rw-r--r--locale/fr/app.po100
-rw-r--r--locale/fr_CA/app.po400
-rw-r--r--locale/gl/app.po29
-rw-r--r--locale/he_IL/app.po35
-rw-r--r--locale/hr/app.po29
-rw-r--r--locale/hr_HR/app.po29
-rw-r--r--locale/hu_HU/app.po29
-rw-r--r--locale/id/app.po29
-rw-r--r--locale/it/app.po199
-rw-r--r--locale/mk_MK/app.po3536
-rw-r--r--locale/model_attributes.rb3
-rw-r--r--locale/nb_NO/app.po55
-rw-r--r--locale/nl/app.po29
-rw-r--r--locale/pl/app.po29
-rw-r--r--locale/pt_BR/app.po29
-rw-r--r--locale/pt_PT/app.po3514
-rw-r--r--locale/ro_RO/app.po29
-rw-r--r--locale/sl/app.po29
-rw-r--r--locale/sq/app.po29
-rw-r--r--locale/sr@latin/app.po1969
-rw-r--r--locale/sv/app.po29
-rw-r--r--locale/sw_KE/app.po3510
-rw-r--r--locale/tr/app.po29
-rw-r--r--locale/uk/app.po29
-rw-r--r--locale/vi/app.po38
-rw-r--r--locale/zh_HK/app.po3499
-rw-r--r--public/404.html26
-rw-r--r--public/422.html26
-rw-r--r--public/500.html26
-rw-r--r--public/admin/javascripts/admin.js32
-rw-r--r--public/admin/javascripts/jquery-ui.min.js356
-rw-r--r--public/admin/stylesheets/admin.css1005
-rw-r--r--public/down.default.html2
-rw-r--r--public/images/logo.pngbin1351 -> 0 bytes
-rw-r--r--public/javascripts/application.js2
-rw-r--r--public/javascripts/jquery-ui.min.js168
-rw-r--r--public/javascripts/jquery.flot.errorbars.min.js63
-rw-r--r--public/javascripts/jquery.flot.min.js29
-rw-r--r--public/robots.txt6
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.pngbin182 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.pngbin178 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.pngbin178 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.pngbin123 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_222222_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_454545_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_888888_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.pngbin4369 -> 0 bytes
-rw-r--r--public/stylesheets/fonts.css73
-rwxr-xr-xscript/compact-xapian-database2
-rwxr-xr-xscript/handle-mail-replies.rb3
-rwxr-xr-xscript/rails-post-deploy5
-rwxr-xr-xscript/switch-theme.rb133
-rw-r--r--spec/controllers/general_controller_spec.rb87
-rw-r--r--spec/controllers/public_body_controller_spec.rb201
-rw-r--r--spec/controllers/track_controller_spec.rb33
-rw-r--r--spec/factories.rb7
-rw-r--r--spec/fixtures/files/document-pdf.email110
-rw-r--r--spec/fixtures/files/fake-authority-type.csv2
-rw-r--r--spec/fixtures/outgoing_messages.yml2
-rw-r--r--spec/fixtures/public_bodies.yml45
-rw-r--r--spec/fixtures/public_body_translations.yml20
-rw-r--r--spec/fixtures/users.yml2
-rw-r--r--spec/integration/cookie_stripping_spec.rb12
-rw-r--r--spec/lib/mail_handler/mail_handler_spec.rb8
-rw-r--r--spec/lib/sendmail_return_path_spec.rb88
-rw-r--r--spec/lib/theme_spec.rb25
-rw-r--r--spec/lib/whatdotheyknow/strip_empty_sessions_spec.rb56
-rw-r--r--spec/mailers/application_mailer_spec.rb2
-rw-r--r--spec/mailers/request_mailer_spec.rb21
-rw-r--r--spec/models/info_request_spec.rb58
-rw-r--r--spec/models/outgoing_message_spec.rb2
-rw-r--r--spec/models/public_body_spec.rb169
-rw-r--r--spec/models/user_spec.rb2
-rw-r--r--spec/models/xapian_spec.rb2
-rw-r--r--spec/spec_helper.rb37
-rw-r--r--vendor/plugins/acts_as_xapian/.cvsignore2
-rw-r--r--vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb13
-rw-r--r--vendor/plugins/acts_as_xapian/init.rb7
-rw-r--r--vendor/plugins/has_tag_string/init.rb2
-rw-r--r--vendor/plugins/strip_attributes/.gitignore1
-rw-r--r--vendor/plugins/strip_attributes/init.rb2
379 files changed, 26597 insertions, 6188 deletions
diff --git a/.compass/config.rb b/.compass/config.rb
deleted file mode 100644
index 5e8e8cc2d..000000000
--- a/.compass/config.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'bootstrap-sass'
-# Require any additional compass plugins here.
-
-
-# Set this to the root of your project when deployed:
-http_path = "/admin/"
-css_dir = "public/admin/stylesheets"
-http_css_dir = "stylesheets"
-sass_dir = "app/sass"
-images_dir = "public/admin/images"
-http_images_dir = "images"
-javascripts_dir = "public/admin/javascripts"
-
-output_style = :compact
-#output_style = :compressed
-# You can select your preferred output style here (can be overridden via the command line):
-# output_style = :expanded or :nested or :compact or :compressed
-
-# To enable relative paths to assets via compass helper functions. Uncomment:
-relative_assets = true
-
-# To disable debugging comments that display the original location of your selectors. Uncomment:
-line_comments = false
-
-
-# If you prefer the indented syntax, you might want to regenerate this
-# project again passing --syntax sass, or you can uncomment this:
-# preferred_syntax = :sass
-# and then run:
-# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
diff --git a/.gitignore b/.gitignore
index f328f6705..537a7abf2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,7 +11,7 @@
.autotest
*#*#
TAGS
-/vendor/plugins/*theme
+/lib/themes
/locale/model_attributes.rb
/files/
/public/download
@@ -22,8 +22,11 @@ TAGS
bin/
config/aliases
config/httpd.conf
+config/general*.yml
.sass-cache
alaveteli.sublime*
webrat.log
/.rbenv-version
/db/development_structure.sql
+/db/structure.sql
+/public/assets
diff --git a/.ruby-version b/.ruby-version
index 2aaf2528c..7fa1d1ef4 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-ruby-1.9.3-p392
+2.0.0-p353
diff --git a/.travis.yml b/.travis.yml
index 051dc0fae..d6ed72cf6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,7 @@ branches:
rvm:
- 1.8.7
- 1.9.3
+ - 2.0.0
before_install:
- gem install rake --version=0.9.2.2
- git submodule update --init --recursive
diff --git a/.tx/config b/.tx/config
index cc0cd4bbd..bc7529856 100644
--- a/.tx/config
+++ b/.tx/config
@@ -4,5 +4,5 @@ source_lang = en
source_file = locale/en/app.po
[main]
-host = https://www.transifex.net
+host = https://www.transifex.com
diff --git a/Gemfile b/Gemfile
index 59867b444..824b4f1f7 100644
--- a/Gemfile
+++ b/Gemfile
@@ -7,7 +7,8 @@ if File.exist? "/etc/debian_version" and File.open("/etc/debian_version").read.s
end
source 'https://rubygems.org'
-gem 'rails', '3.1.12'
+gem 'rails', '3.2.16'
+
gem 'pg'
# New gem releases aren't being done. master is newer and supports Rails > 3.0
@@ -17,10 +18,12 @@ gem 'charlock_holmes'
gem 'dynamic_form'
gem 'exception_notification'
gem 'fastercsv', '>=1.5.5'
-gem 'jquery-rails', '~> 2.1'
+gem 'jquery-rails', '~> 3.0.4'
+gem 'jquery-ui-rails'
gem 'json'
gem 'mahoro'
-gem 'net-http-local'
+gem 'memcache-client'
+gem 'net-http-local', :platforms => [:ruby_18, :ruby_19]
gem 'net-purge'
gem 'newrelic_rpm'
gem 'rack'
@@ -45,12 +48,20 @@ gem 'zip'
gem 'fast_gettext'
gem 'gettext_i18n_rails'
gem 'gettext'
-# Use until this PR is merged: https://github.com/svenfuchs/globalize3/pull/191
-gem 'globalize3', :git => 'git://github.com/henare/globalize3.git', :branch => 'not-null-empty-attributes'
+gem 'globalize3', :git => 'git://github.com/globalize/globalize.git', :ref => '5fd95f2389dff1'
gem 'locale'
gem 'routing-filter'
gem 'unicode'
-gem 'unidecode'
+gem 'unidecoder'
+
+group :assets do
+ gem 'bootstrap-sass'
+ gem 'sass-rails', '~> 3.2.3'
+ gem 'compass-rails'
+ gem 'coffee-rails', "~> 3.2.1"
+ gem 'uglifier', '>= 1.0.3'
+ gem 'therubyracer'
+end
group :test do
gem 'fakeweb'
@@ -66,8 +77,6 @@ end
group :develop do
gem 'ruby-debug', :platforms => :ruby_18
gem 'debugger', :platforms => :ruby_19
- gem 'bootstrap-sass'
- gem 'compass'
gem 'annotate'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index db4b4d273..62258c0c6 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
GIT
- remote: git://github.com/henare/globalize3.git
- revision: 2931f559cbed8843ab7d16278d70ce99a0239132
- branch: not-null-empty-attributes
+ remote: git://github.com/globalize/globalize.git
+ revision: 5fd95f2389dff13c9368fb2e08c96c8a48798c72
+ ref: 5fd95f2389dff1
specs:
globalize3 (0.3.0)
activemodel (>= 3.0.0)
@@ -18,37 +18,36 @@ GIT
GEM
remote: https://rubygems.org/
specs:
- actionmailer (3.1.12)
- actionpack (= 3.1.12)
- mail (~> 2.4.4)
- actionpack (3.1.12)
- activemodel (= 3.1.12)
- activesupport (= 3.1.12)
+ actionmailer (3.2.16)
+ actionpack (= 3.2.16)
+ mail (~> 2.5.4)
+ actionpack (3.2.16)
+ activemodel (= 3.2.16)
+ activesupport (= 3.2.16)
builder (~> 3.0.0)
erubis (~> 2.7.0)
- i18n (~> 0.6)
- rack (~> 1.3.6)
+ journey (~> 1.0.4)
+ rack (~> 1.4.5)
rack-cache (~> 1.2)
- rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
- sprockets (~> 2.0.4)
- activemodel (3.1.12)
- activesupport (= 3.1.12)
+ sprockets (~> 2.2.1)
+ activemodel (3.2.16)
+ activesupport (= 3.2.16)
builder (~> 3.0.0)
- i18n (~> 0.6)
- activerecord (3.1.12)
- activemodel (= 3.1.12)
- activesupport (= 3.1.12)
- arel (~> 2.2.3)
+ activerecord (3.2.16)
+ activemodel (= 3.2.16)
+ activesupport (= 3.2.16)
+ arel (~> 3.0.2)
tzinfo (~> 0.3.29)
- activeresource (3.1.12)
- activemodel (= 3.1.12)
- activesupport (= 3.1.12)
- activesupport (3.1.12)
+ activeresource (3.2.16)
+ activemodel (= 3.2.16)
+ activesupport (= 3.2.16)
+ activesupport (3.2.16)
+ i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
annotate (2.5.0)
rake
- arel (2.2.3)
+ arel (3.0.3)
bootstrap-sass (2.3.1.2)
sass (~> 3.2)
builder (3.0.4)
@@ -60,12 +59,21 @@ GEM
net-ssh-gateway (>= 1.1.0)
charlock_holmes (0.6.9.4)
chunky_png (1.2.8)
+ coffee-rails (3.2.2)
+ coffee-script (>= 2.2.0)
+ railties (~> 3.2.0)
+ coffee-script (2.2.0)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.6.3)
colorize (0.5.8)
columnize (0.3.6)
compass (0.12.2)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
+ compass-rails (1.0.3)
+ compass (>= 0.12.2, < 0.14)
coveralls (0.6.7)
colorize
multi_json (~> 1.3)
@@ -85,6 +93,8 @@ GEM
eventmachine (1.0.3)
exception_notification (3.0.1)
actionmailer (>= 3.0.4)
+ activesupport (>= 3.0.4)
+ execjs (2.0.1)
factory_girl (2.6.4)
activesupport (>= 2.3.9)
factory_girl_rails (1.7.0)
@@ -102,18 +112,21 @@ GEM
haml (4.0.3)
tilt
highline (1.6.19)
- hike (1.2.2)
- i18n (0.6.4)
- jquery-rails (2.3.0)
+ hike (1.2.3)
+ i18n (0.6.9)
+ journey (1.0.4)
+ jquery-rails (3.0.4)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
- json (1.8.0)
+ jquery-ui-rails (4.1.0)
+ railties (>= 3.1.0)
+ json (1.8.1)
+ libv8 (3.16.14.3)
linecache (0.46)
rbx-require-relative (> 0.0.4)
locale (2.0.8)
mahoro (0.4)
- mail (2.4.4)
- i18n (>= 0.4.0)
+ mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mailcatcher (0.5.11)
@@ -125,8 +138,9 @@ GEM
skinny (~> 0.2.3)
sqlite3 (~> 1.3)
thin (~> 1.5.0)
- mime-types (1.23)
- multi_json (1.7.4)
+ memcache-client (1.8.5)
+ mime-types (1.25.1)
+ multi_json (1.8.2)
net-http-local (0.1.2)
net-purge (0.1.0)
net-scp (1.1.1)
@@ -136,46 +150,45 @@ GEM
net-ssh (2.6.7)
net-ssh-gateway (1.2.0)
net-ssh (>= 2.6.5)
- newrelic_rpm (3.6.2.96)
+ newrelic_rpm (3.6.8.164)
nokogiri (1.5.9)
paper_trail (2.7.2)
activerecord (~> 3.0)
railties (~> 3.0)
pg (0.15.1)
polyglot (0.3.3)
- rack (1.3.10)
+ rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
- rack-mount (0.8.3)
- rack (>= 1.0.0)
rack-protection (1.5.0)
rack
rack-ssl (1.3.3)
rack
rack-test (0.6.2)
rack (>= 1.0)
- rails (3.1.12)
- actionmailer (= 3.1.12)
- actionpack (= 3.1.12)
- activerecord (= 3.1.12)
- activeresource (= 3.1.12)
- activesupport (= 3.1.12)
+ rails (3.2.16)
+ actionmailer (= 3.2.16)
+ actionpack (= 3.2.16)
+ activerecord (= 3.2.16)
+ activeresource (= 3.2.16)
+ activesupport (= 3.2.16)
bundler (~> 1.0)
- railties (= 3.1.12)
+ railties (= 3.2.16)
rails-i18n (0.7.3)
i18n (~> 0.5)
- railties (3.1.12)
- actionpack (= 3.1.12)
- activesupport (= 3.1.12)
+ railties (3.2.16)
+ actionpack (= 3.2.16)
+ activesupport (= 3.2.16)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
- thor (~> 0.14.6)
+ thor (>= 0.14.6, < 2.0)
rake (0.9.2.2)
rbx-require-relative (0.0.9)
rdoc (3.12.2)
json (~> 1.4)
recaptcha (0.3.5)
+ ref (1.0.5)
rest-client (1.6.7)
mime-types (>= 1.16)
rmagick (2.13.2)
@@ -201,7 +214,11 @@ GEM
ruby-ole (>= 1.2.8)
vpim (>= 0.360)
ruby-ole (1.2.11.6)
- sass (3.2.9)
+ sass (3.2.10)
+ sass-rails (3.2.6)
+ railties (~> 3.2.0)
+ sass (>= 3.1.10)
+ tilt (~> 1.3)
simplecov (0.7.1)
multi_json (~> 1.0)
simplecov-html (~> 0.7.1)
@@ -217,27 +234,34 @@ GEM
spork-rails (3.2.1)
rails (>= 3.0.0, < 3.3.0)
spork (>= 1.0rc0)
- sprockets (2.0.4)
+ sprockets (2.2.2)
hike (~> 1.2)
+ multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.7)
statistics2 (0.54)
syslog_protocol (0.9.2)
text (1.2.1)
+ therubyracer (0.12.0)
+ libv8 (~> 3.16.14.0)
+ ref
thin (1.5.1)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
- thor (0.14.6)
+ thor (0.18.1)
tilt (1.4.1)
- treetop (1.4.12)
+ treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
- tzinfo (0.3.37)
+ tzinfo (0.3.38)
+ uglifier (2.2.1)
+ execjs (>= 0.3.0)
+ multi_json (~> 1.0, >= 1.0.2)
unicode (0.4.4)
- unidecode (1.0.0)
- vpim (0.695)
+ unidecoder (1.1.2)
+ vpim (13.11.11)
webrat (0.7.3)
nokogiri (>= 1.2.0)
rack (>= 1.0)
@@ -256,7 +280,8 @@ DEPENDENCIES
bootstrap-sass
capistrano
charlock_holmes
- compass
+ coffee-rails (~> 3.2.1)
+ compass-rails
coveralls
debugger
dynamic_form
@@ -268,18 +293,20 @@ DEPENDENCIES
gettext
gettext_i18n_rails
globalize3!
- jquery-rails (~> 2.1)
+ jquery-rails (~> 3.0.4)
+ jquery-ui-rails
json
locale
mahoro
mailcatcher
+ memcache-client
net-http-local
net-purge
newrelic_rpm
nokogiri
pg
rack
- rails (= 3.1.12)
+ rails (= 3.2.16)
rails-i18n
rake (= 0.9.2.2)
rdoc
@@ -289,12 +316,15 @@ DEPENDENCIES
rspec-rails
ruby-debug
ruby-msg (~> 1.5.0)
+ sass-rails (~> 3.2.3)
spork-rails
statistics2 (~> 0.54)
syslog_protocol
+ therubyracer
thin
+ uglifier (>= 1.0.3)
unicode
- unidecode
+ unidecoder
vpim
webrat
will_paginate
diff --git a/LICENSE.txt b/LICENSE.txt
index 23976d86e..21e66eedb 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -10,7 +10,7 @@ by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Note in particular,
-- acts_as_xapian in vendor/plugins/ is licensed with an MIT license.
+- acts_as_xapian in lib/acts_as_xapian is licensed with an MIT license.
Can you explain briefly what the GNU Affero GPL is? We offer the
source code of our websites to our users. The GNU Affero GPL has the
diff --git a/README.md b/README.md
index 8dc3125a1..1a2aeee05 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ drop a line to hello@alaveteli.org to let us know that you're using Alaveteli.
Some documentation can be found in the
[`doc/` folder](https://github.com/mysociety/alaveteli/tree/master/doc).
-There's background information and a more documentation on
+There's background information and more documentation on
[our wiki](https://github.com/mysociety/alaveteli/wiki/Home/), and lots
of useful information (including a blog) on
[the project website](http://alaveteli.org)
@@ -35,9 +35,10 @@ If you find what looks like a bug:
If you want to contribute an enhancement or a fix:
* Fork the project on GitHub.
+* Make a topic branch from the rails-3-develop branch.
* Make your changes with tests.
* Commit the changes without making changes to any files that aren't related to your enhancement or fix.
-* Send a pull request.
+* Send a pull request against the rails-3-develop branch.
Looking for the latest stable release? It's on the
[master branch](https://github.com/mysociety/alaveteli/tree/master).
diff --git a/Rakefile b/Rakefile
index 5fa2a360d..09582dd77 100644
--- a/Rakefile
+++ b/Rakefile
@@ -5,5 +5,7 @@ require File.expand_path('../config/application', __FILE__)
require 'rake'
Alaveteli::Application.load_tasks
if Rails.env == 'test'
- Dir[File.join(File.dirname(__FILE__),'commonlib','rblib','tests','*.rake')].each { |file| load(file) }
+ Dir[Rails.root.join('commonlib','rblib','tests','*.rake')].each { |file| load(file) }
end
+# Make sure the the acts_as_xapian tasks are also loaded:
+Dir[Rails.root.join('lib','acts_as_xapian','tasks','*.rake')].each { |file| load(file) }
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.eot b/app/assets/fonts/delicious-bold-webfont.eot
index 90d2e95fa..90d2e95fa 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.eot
+++ b/app/assets/fonts/delicious-bold-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.svg b/app/assets/fonts/delicious-bold-webfont.svg
index 51a5d9080..51a5d9080 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.svg
+++ b/app/assets/fonts/delicious-bold-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.ttf b/app/assets/fonts/delicious-bold-webfont.ttf
index 2ec5d3e49..2ec5d3e49 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.ttf
+++ b/app/assets/fonts/delicious-bold-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.woff b/app/assets/fonts/delicious-bold-webfont.woff
index b47277ef1..b47277ef1 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.woff
+++ b/app/assets/fonts/delicious-bold-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.eot b/app/assets/fonts/delicious-bolditalic-webfont.eot
index 8e8957864..8e8957864 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.eot
+++ b/app/assets/fonts/delicious-bolditalic-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.svg b/app/assets/fonts/delicious-bolditalic-webfont.svg
index 7368c90f2..7368c90f2 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.svg
+++ b/app/assets/fonts/delicious-bolditalic-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.ttf b/app/assets/fonts/delicious-bolditalic-webfont.ttf
index ef25c0adc..ef25c0adc 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.ttf
+++ b/app/assets/fonts/delicious-bolditalic-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.woff b/app/assets/fonts/delicious-bolditalic-webfont.woff
index 068f460de..068f460de 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.woff
+++ b/app/assets/fonts/delicious-bolditalic-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.eot b/app/assets/fonts/delicious-heavy-webfont.eot
index 782a01422..782a01422 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.eot
+++ b/app/assets/fonts/delicious-heavy-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.svg b/app/assets/fonts/delicious-heavy-webfont.svg
index 64e0eb347..64e0eb347 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.svg
+++ b/app/assets/fonts/delicious-heavy-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.ttf b/app/assets/fonts/delicious-heavy-webfont.ttf
index deba1f94f..deba1f94f 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.ttf
+++ b/app/assets/fonts/delicious-heavy-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.woff b/app/assets/fonts/delicious-heavy-webfont.woff
index b3c48915d..b3c48915d 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.woff
+++ b/app/assets/fonts/delicious-heavy-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.eot b/app/assets/fonts/delicious-italic-webfont.eot
index 8bc7f8ce0..8bc7f8ce0 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.eot
+++ b/app/assets/fonts/delicious-italic-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.svg b/app/assets/fonts/delicious-italic-webfont.svg
index 3cad32124..3cad32124 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.svg
+++ b/app/assets/fonts/delicious-italic-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.ttf b/app/assets/fonts/delicious-italic-webfont.ttf
index 01d11991b..01d11991b 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.ttf
+++ b/app/assets/fonts/delicious-italic-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.woff b/app/assets/fonts/delicious-italic-webfont.woff
index 32aa7611e..32aa7611e 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.woff
+++ b/app/assets/fonts/delicious-italic-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.eot b/app/assets/fonts/delicious-roman-webfont.eot
index 2e1b7b24e..2e1b7b24e 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.eot
+++ b/app/assets/fonts/delicious-roman-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.svg b/app/assets/fonts/delicious-roman-webfont.svg
index c7c20b31c..c7c20b31c 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.svg
+++ b/app/assets/fonts/delicious-roman-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.ttf b/app/assets/fonts/delicious-roman-webfont.ttf
index cc27c5c1d..cc27c5c1d 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.ttf
+++ b/app/assets/fonts/delicious-roman-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.woff b/app/assets/fonts/delicious-roman-webfont.woff
index 9acbdd4a0..9acbdd4a0 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.woff
+++ b/app/assets/fonts/delicious-roman-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.eot b/app/assets/fonts/delicious-smallcaps-webfont.eot
index 358efc11f..358efc11f 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.eot
+++ b/app/assets/fonts/delicious-smallcaps-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.svg b/app/assets/fonts/delicious-smallcaps-webfont.svg
index d1235b7f6..d1235b7f6 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.svg
+++ b/app/assets/fonts/delicious-smallcaps-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.ttf b/app/assets/fonts/delicious-smallcaps-webfont.ttf
index 152f15f13..152f15f13 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.ttf
+++ b/app/assets/fonts/delicious-smallcaps-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.woff b/app/assets/fonts/delicious-smallcaps-webfont.woff
index 0d4d1f7d0..0d4d1f7d0 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.woff
+++ b/app/assets/fonts/delicious-smallcaps-webfont.woff
Binary files differ
diff --git a/public/images/README.txt b/app/assets/images/README.txt
index 0bf9f36d6..0bf9f36d6 100644
--- a/public/images/README.txt
+++ b/app/assets/images/README.txt
diff --git a/public/images/arrow-left.png b/app/assets/images/arrow-left.png
index 74d2fa253..74d2fa253 100644
--- a/public/images/arrow-left.png
+++ b/app/assets/images/arrow-left.png
Binary files differ
diff --git a/public/images/arrow-right.png b/app/assets/images/arrow-right.png
index 34dd75ef8..34dd75ef8 100644
--- a/public/images/arrow-right.png
+++ b/app/assets/images/arrow-right.png
Binary files differ
diff --git a/public/images/bighand.png b/app/assets/images/bighand.png
index 92a4a6105..92a4a6105 100644
--- a/public/images/bighand.png
+++ b/app/assets/images/bighand.png
Binary files differ
diff --git a/public/images/button-gradient-large.png b/app/assets/images/button-gradient-large.png
index 93ebc6cbc..93ebc6cbc 100644
--- a/public/images/button-gradient-large.png
+++ b/app/assets/images/button-gradient-large.png
Binary files differ
diff --git a/public/images/button-gradient.png b/app/assets/images/button-gradient.png
index 8b29e89ba..8b29e89ba 100644
--- a/public/images/button-gradient.png
+++ b/app/assets/images/button-gradient.png
Binary files differ
diff --git a/public/images/button-preview.png b/app/assets/images/button-preview.png
index 79b4ccd04..79b4ccd04 100644
--- a/public/images/button-preview.png
+++ b/app/assets/images/button-preview.png
Binary files differ
diff --git a/public/images/button-search.png b/app/assets/images/button-search.png
index 23945f4f0..23945f4f0 100644
--- a/public/images/button-search.png
+++ b/app/assets/images/button-search.png
Binary files differ
diff --git a/public/images/calendar.png b/app/assets/images/calendar.png
index 44981a41c..44981a41c 100644
--- a/public/images/calendar.png
+++ b/app/assets/images/calendar.png
Binary files differ
diff --git a/public/images/defaultprofilepic.png b/app/assets/images/defaultprofilepic.png
index affdaad3d..affdaad3d 100644
--- a/public/images/defaultprofilepic.png
+++ b/app/assets/images/defaultprofilepic.png
Binary files differ
diff --git a/public/images/email-16.png b/app/assets/images/email-16.png
index 8692748e2..8692748e2 100644
--- a/public/images/email-16.png
+++ b/app/assets/images/email-16.png
Binary files differ
diff --git a/public/stylesheets/fancybox-x.png b/app/assets/images/fancybox-x.png
index c2130f869..c2130f869 100755
--- a/public/stylesheets/fancybox-x.png
+++ b/app/assets/images/fancybox-x.png
Binary files differ
diff --git a/public/stylesheets/fancybox-y.png b/app/assets/images/fancybox-y.png
index 7ef399b99..7ef399b99 100755
--- a/public/stylesheets/fancybox-y.png
+++ b/app/assets/images/fancybox-y.png
Binary files differ
diff --git a/public/stylesheets/fancybox.png b/app/assets/images/fancybox.png
index 65e14f68f..65e14f68f 100755
--- a/public/stylesheets/fancybox.png
+++ b/app/assets/images/fancybox.png
Binary files differ
diff --git a/public/favicon.ico b/app/assets/images/favicon.ico
index 26127495c..26127495c 100644
--- a/public/favicon.ico
+++ b/app/assets/images/favicon.ico
Binary files differ
diff --git a/public/images/feed-14.png b/app/assets/images/feed-14.png
index b3c949d22..b3c949d22 100644
--- a/public/images/feed-14.png
+++ b/app/assets/images/feed-14.png
Binary files differ
diff --git a/public/images/feed-16.png b/app/assets/images/feed-16.png
index 1679ab05b..1679ab05b 100644
--- a/public/images/feed-16.png
+++ b/app/assets/images/feed-16.png
Binary files differ
diff --git a/public/images/feed-28.png b/app/assets/images/feed-28.png
index d64c669c7..d64c669c7 100644
--- a/public/images/feed-28.png
+++ b/app/assets/images/feed-28.png
Binary files differ
diff --git a/public/images/flying-computer.png b/app/assets/images/flying-computer.png
index b1e1d59bb..b1e1d59bb 100644
--- a/public/images/flying-computer.png
+++ b/app/assets/images/flying-computer.png
Binary files differ
diff --git a/public/admin/images/glyphicons-halflings-white.png b/app/assets/images/glyphicons-halflings-white.png
index 3bf6484a2..3bf6484a2 100644
--- a/public/admin/images/glyphicons-halflings-white.png
+++ b/app/assets/images/glyphicons-halflings-white.png
Binary files differ
diff --git a/public/admin/images/glyphicons-halflings.png b/app/assets/images/glyphicons-halflings.png
index 79bc568c2..79bc568c2 100644
--- a/public/admin/images/glyphicons-halflings.png
+++ b/app/assets/images/glyphicons-halflings.png
Binary files differ
diff --git a/public/images/helpmeinvestigate.png b/app/assets/images/helpmeinvestigate.png
index e9aaf5aec..e9aaf5aec 100644
--- a/public/images/helpmeinvestigate.png
+++ b/app/assets/images/helpmeinvestigate.png
Binary files differ
diff --git a/public/images/home-grad.png b/app/assets/images/home-grad.png
index ff9887a11..ff9887a11 100644
--- a/public/images/home-grad.png
+++ b/app/assets/images/home-grad.png
Binary files differ
diff --git a/public/images/icon-foi.png b/app/assets/images/icon-foi.png
index 138bf3b5c..138bf3b5c 100644
--- a/public/images/icon-foi.png
+++ b/app/assets/images/icon-foi.png
Binary files differ
diff --git a/public/images/icon-person.png b/app/assets/images/icon-person.png
index dfb35a849..dfb35a849 100644
--- a/public/images/icon-person.png
+++ b/app/assets/images/icon-person.png
Binary files differ
diff --git a/public/images/icon-publicbody.png b/app/assets/images/icon-publicbody.png
index 0f3848ccf..0f3848ccf 100644
--- a/public/images/icon-publicbody.png
+++ b/app/assets/images/icon-publicbody.png
Binary files differ
diff --git a/public/images/icon_application_octet-stream_large.png b/app/assets/images/icon_application_octet-stream_large.png
index a239862e1..a239862e1 100644
--- a/public/images/icon_application_octet-stream_large.png
+++ b/app/assets/images/icon_application_octet-stream_large.png
Binary files differ
diff --git a/public/images/icon_application_pdf_large.png b/app/assets/images/icon_application_pdf_large.png
index 9a38ca33c..9a38ca33c 100644
--- a/public/images/icon_application_pdf_large.png
+++ b/app/assets/images/icon_application_pdf_large.png
Binary files differ
diff --git a/public/images/icon_application_rtf_large.png b/app/assets/images/icon_application_rtf_large.png
index 2ad990608..2ad990608 100644
--- a/public/images/icon_application_rtf_large.png
+++ b/app/assets/images/icon_application_rtf_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.ms-excel_large.png b/app/assets/images/icon_application_vnd.ms-excel_large.png
index 3f346f5ef..3f346f5ef 100644
--- a/public/images/icon_application_vnd.ms-excel_large.png
+++ b/app/assets/images/icon_application_vnd.ms-excel_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.ms-powerpoint_large.png b/app/assets/images/icon_application_vnd.ms-powerpoint_large.png
index 82c225059..82c225059 100644
--- a/public/images/icon_application_vnd.ms-powerpoint_large.png
+++ b/app/assets/images/icon_application_vnd.ms-powerpoint_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.ms-word_large.png b/app/assets/images/icon_application_vnd.ms-word_large.png
index 91a696ab5..91a696ab5 100644
--- a/public/images/icon_application_vnd.ms-word_large.png
+++ b/app/assets/images/icon_application_vnd.ms-word_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png
index 4e0dcebe7..4e0dcebe7 120000
--- a/public/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png
+++ b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png
diff --git a/public/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png
index c664a30f9..c664a30f9 120000
--- a/public/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png
+++ b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png
diff --git a/public/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png
index 950105e3b..950105e3b 120000
--- a/public/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png
+++ b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png
diff --git a/public/images/icon_application_zip_large.png b/app/assets/images/icon_application_zip_large.png
index 0a14e978e..0a14e978e 100644
--- a/public/images/icon_application_zip_large.png
+++ b/app/assets/images/icon_application_zip_large.png
Binary files differ
diff --git a/public/images/icon_image_bmp_large.png b/app/assets/images/icon_image_bmp_large.png
index f6e8dbaed..f6e8dbaed 100644
--- a/public/images/icon_image_bmp_large.png
+++ b/app/assets/images/icon_image_bmp_large.png
Binary files differ
diff --git a/public/images/icon_image_gif_large.png b/app/assets/images/icon_image_gif_large.png
index 424d1e0fd..424d1e0fd 100644
--- a/public/images/icon_image_gif_large.png
+++ b/app/assets/images/icon_image_gif_large.png
Binary files differ
diff --git a/public/images/icon_image_jpeg_large.png b/app/assets/images/icon_image_jpeg_large.png
index fd50a889d..fd50a889d 100644
--- a/public/images/icon_image_jpeg_large.png
+++ b/app/assets/images/icon_image_jpeg_large.png
Binary files differ
diff --git a/public/images/icon_image_png_large.png b/app/assets/images/icon_image_png_large.png
index f16edb08e..f16edb08e 100644
--- a/public/images/icon_image_png_large.png
+++ b/app/assets/images/icon_image_png_large.png
Binary files differ
diff --git a/public/images/icon_image_tiff_large.png b/app/assets/images/icon_image_tiff_large.png
index 356f63478..356f63478 100644
--- a/public/images/icon_image_tiff_large.png
+++ b/app/assets/images/icon_image_tiff_large.png
Binary files differ
diff --git a/public/images/icon_message_delivery-status_large.png b/app/assets/images/icon_message_delivery-status_large.png
index a239862e1..a239862e1 100644
--- a/public/images/icon_message_delivery-status_large.png
+++ b/app/assets/images/icon_message_delivery-status_large.png
Binary files differ
diff --git a/public/images/icon_text_html_large.png b/app/assets/images/icon_text_html_large.png
index 914502cf4..914502cf4 100644
--- a/public/images/icon_text_html_large.png
+++ b/app/assets/images/icon_text_html_large.png
Binary files differ
diff --git a/public/images/icon_text_plain_large.png b/app/assets/images/icon_text_plain_large.png
index f74a997ba..f74a997ba 100644
--- a/public/images/icon_text_plain_large.png
+++ b/app/assets/images/icon_text_plain_large.png
Binary files differ
diff --git a/public/images/icon_text_x-vcard_large.png b/app/assets/images/icon_text_x-vcard_large.png
index cc44d3edc..cc44d3edc 100644
--- a/public/images/icon_text_x-vcard_large.png
+++ b/app/assets/images/icon_text_x-vcard_large.png
Binary files differ
diff --git a/public/images/icon_unknown.png b/app/assets/images/icon_unknown.png
index 992c646c0..992c646c0 100644
--- a/public/images/icon_unknown.png
+++ b/app/assets/images/icon_unknown.png
Binary files differ
diff --git a/public/images/link-icon.png b/app/assets/images/link-icon.png
index 7d9237fcd..7d9237fcd 100644
--- a/public/images/link-icon.png
+++ b/app/assets/images/link-icon.png
Binary files differ
diff --git a/public/images/littlehand.png b/app/assets/images/littlehand.png
index f7ec82045..f7ec82045 100644
--- a/public/images/littlehand.png
+++ b/app/assets/images/littlehand.png
Binary files differ
diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png
new file mode 100644
index 000000000..1e44ced7d
--- /dev/null
+++ b/app/assets/images/logo.png
Binary files differ
diff --git a/public/images/navimg/alaveteli-logo-header.png b/app/assets/images/navimg/alaveteli-logo-header.png
index 49b529718..49b529718 100644
--- a/public/images/navimg/alaveteli-logo-header.png
+++ b/app/assets/images/navimg/alaveteli-logo-header.png
Binary files differ
diff --git a/public/images/navimg/alaveteli-logo.png b/app/assets/images/navimg/alaveteli-logo.png
index ce9abdd3d..ce9abdd3d 100644
--- a/public/images/navimg/alaveteli-logo.png
+++ b/app/assets/images/navimg/alaveteli-logo.png
Binary files differ
diff --git a/public/images/navimg/auth-icon.png b/app/assets/images/navimg/auth-icon.png
index 6eaa229bf..6eaa229bf 100644
--- a/public/images/navimg/auth-icon.png
+++ b/app/assets/images/navimg/auth-icon.png
Binary files differ
diff --git a/public/images/navimg/bnnr-ifyoudontask-24bit.png b/app/assets/images/navimg/bnnr-ifyoudontask-24bit.png
index 5c87bdab4..5c87bdab4 100644
--- a/public/images/navimg/bnnr-ifyoudontask-24bit.png
+++ b/app/assets/images/navimg/bnnr-ifyoudontask-24bit.png
Binary files differ
diff --git a/public/images/navimg/bnnr-ifyoudontask.png b/app/assets/images/navimg/bnnr-ifyoudontask.png
index f577778e1..f577778e1 100644
--- a/public/images/navimg/bnnr-ifyoudontask.png
+++ b/app/assets/images/navimg/bnnr-ifyoudontask.png
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100px.jpg b/app/assets/images/navimg/bnnr-temp-100px.jpg
index baf03585e..baf03585e 100644
--- a/public/images/navimg/bnnr-temp-100px.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100px.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxa.jpg b/app/assets/images/navimg/bnnr-temp-100pxa.jpg
index f95a4d9f5..f95a4d9f5 100644
--- a/public/images/navimg/bnnr-temp-100pxa.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxa.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxb.jpg b/app/assets/images/navimg/bnnr-temp-100pxb.jpg
index f09f5c838..f09f5c838 100644
--- a/public/images/navimg/bnnr-temp-100pxb.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxb.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxc.jpg b/app/assets/images/navimg/bnnr-temp-100pxc.jpg
index e83ec90ed..e83ec90ed 100755
--- a/public/images/navimg/bnnr-temp-100pxc.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxc.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxd.jpg b/app/assets/images/navimg/bnnr-temp-100pxd.jpg
index 105b97a19..105b97a19 100755
--- a/public/images/navimg/bnnr-temp-100pxd.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxd.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp.jpg b/app/assets/images/navimg/bnnr-temp.jpg
index abcc0bcfc..abcc0bcfc 100644
--- a/public/images/navimg/bnnr-temp.jpg
+++ b/app/assets/images/navimg/bnnr-temp.jpg
Binary files differ
diff --git a/public/images/navimg/infobug20px.png b/app/assets/images/navimg/infobug20px.png
index f9cc70694..f9cc70694 100644
--- a/public/images/navimg/infobug20px.png
+++ b/app/assets/images/navimg/infobug20px.png
Binary files differ
diff --git a/public/images/navimg/logo-trans-small.png b/app/assets/images/navimg/logo-trans-small.png
index fde1d1e51..fde1d1e51 100644
--- a/public/images/navimg/logo-trans-small.png
+++ b/app/assets/images/navimg/logo-trans-small.png
Binary files differ
diff --git a/public/images/navimg/logo-trans.png b/app/assets/images/navimg/logo-trans.png
index 320a52efd..320a52efd 100644
--- a/public/images/navimg/logo-trans.png
+++ b/app/assets/images/navimg/logo-trans.png
Binary files differ
diff --git a/public/images/navimg/mysoc-logo-header.png b/app/assets/images/navimg/mysoc-logo-header.png
index ad813926a..ad813926a 100755
--- a/public/images/navimg/mysoc-logo-header.png
+++ b/app/assets/images/navimg/mysoc-logo-header.png
Binary files differ
diff --git a/public/images/navimg/mysoc-logo-small.png b/app/assets/images/navimg/mysoc-logo-small.png
index 1d644924c..1d644924c 100644
--- a/public/images/navimg/mysoc-logo-small.png
+++ b/app/assets/images/navimg/mysoc-logo-small.png
Binary files differ
diff --git a/public/images/navimg/quote-open-small.png b/app/assets/images/navimg/quote-open-small.png
index 46edaa850..46edaa850 100755
--- a/public/images/navimg/quote-open-small.png
+++ b/app/assets/images/navimg/quote-open-small.png
Binary files differ
diff --git a/public/images/navimg/quote-open.png b/app/assets/images/navimg/quote-open.png
index 7e8858265..7e8858265 100644
--- a/public/images/navimg/quote-open.png
+++ b/app/assets/images/navimg/quote-open.png
Binary files differ
diff --git a/public/images/navimg/request-icon.png b/app/assets/images/navimg/request-icon.png
index 9f2854d0e..9f2854d0e 100644
--- a/public/images/navimg/request-icon.png
+++ b/app/assets/images/navimg/request-icon.png
Binary files differ
diff --git a/public/images/navimg/status-icons-attn.png b/app/assets/images/navimg/status-icons-attn.png
index 6a543c5da..6a543c5da 100644
--- a/public/images/navimg/status-icons-attn.png
+++ b/app/assets/images/navimg/status-icons-attn.png
Binary files differ
diff --git a/public/images/navimg/status-icons-error-message.png b/app/assets/images/navimg/status-icons-error-message.png
index 03ddd60b7..03ddd60b7 100644
--- a/public/images/navimg/status-icons-error-message.png
+++ b/app/assets/images/navimg/status-icons-error-message.png
Binary files differ
diff --git a/public/images/navimg/status-icons-fail.png b/app/assets/images/navimg/status-icons-fail.png
index 57529237c..57529237c 100644
--- a/public/images/navimg/status-icons-fail.png
+++ b/app/assets/images/navimg/status-icons-fail.png
Binary files differ
diff --git a/public/images/navimg/status-icons-internal-review.png b/app/assets/images/navimg/status-icons-internal-review.png
index 44fe2fdb3..44fe2fdb3 100644
--- a/public/images/navimg/status-icons-internal-review.png
+++ b/app/assets/images/navimg/status-icons-internal-review.png
Binary files differ
diff --git a/public/images/navimg/status-icons-not-held.png b/app/assets/images/navimg/status-icons-not-held.png
index 1225a3db3..1225a3db3 100644
--- a/public/images/navimg/status-icons-not-held.png
+++ b/app/assets/images/navimg/status-icons-not-held.png
Binary files differ
diff --git a/public/images/navimg/status-icons-post.png b/app/assets/images/navimg/status-icons-post.png
index 56b9b9fa9..56b9b9fa9 100755
--- a/public/images/navimg/status-icons-post.png
+++ b/app/assets/images/navimg/status-icons-post.png
Binary files differ
diff --git a/public/images/navimg/status-icons-succeed.png b/app/assets/images/navimg/status-icons-succeed.png
index 8f3bba985..8f3bba985 100644
--- a/public/images/navimg/status-icons-succeed.png
+++ b/app/assets/images/navimg/status-icons-succeed.png
Binary files differ
diff --git a/public/images/navimg/status-icons-user-withdrawn.png b/app/assets/images/navimg/status-icons-user-withdrawn.png
index fa4e278ff..fa4e278ff 100644
--- a/public/images/navimg/status-icons-user-withdrawn.png
+++ b/app/assets/images/navimg/status-icons-user-withdrawn.png
Binary files differ
diff --git a/public/images/navimg/status-icons-wait.png b/app/assets/images/navimg/status-icons-wait.png
index a264f06f5..a264f06f5 100644
--- a/public/images/navimg/status-icons-wait.png
+++ b/app/assets/images/navimg/status-icons-wait.png
Binary files differ
diff --git a/public/images/navimg/user-icon.png b/app/assets/images/navimg/user-icon.png
index dfaf5525d..dfaf5525d 100644
--- a/public/images/navimg/user-icon.png
+++ b/app/assets/images/navimg/user-icon.png
Binary files differ
diff --git a/public/images/petitions.png b/app/assets/images/petitions.png
index 204e12b77..204e12b77 100644
--- a/public/images/petitions.png
+++ b/app/assets/images/petitions.png
Binary files differ
diff --git a/public/images/pledgebank.png b/app/assets/images/pledgebank.png
index 0f0a8f235..0f0a8f235 100644
--- a/public/images/pledgebank.png
+++ b/app/assets/images/pledgebank.png
Binary files differ
diff --git a/public/images/quote-marks.png b/app/assets/images/quote-marks.png
index e2bdfb06d..e2bdfb06d 100644
--- a/public/images/quote-marks.png
+++ b/app/assets/images/quote-marks.png
Binary files differ
diff --git a/public/images/rails.png b/app/assets/images/rails.png
index b8441f182..b8441f182 100644
--- a/public/images/rails.png
+++ b/app/assets/images/rails.png
Binary files differ
diff --git a/public/images/rss-16.png b/app/assets/images/rss-16.png
index d61986a56..d61986a56 100644
--- a/public/images/rss-16.png
+++ b/app/assets/images/rss-16.png
Binary files differ
diff --git a/public/images/rss-blue.png b/app/assets/images/rss-blue.png
index abc1b1859..abc1b1859 100644
--- a/public/images/rss-blue.png
+++ b/app/assets/images/rss-blue.png
Binary files differ
diff --git a/public/images/rss-orange.png b/app/assets/images/rss-orange.png
index d0e6a949e..d0e6a949e 100644
--- a/public/images/rss-orange.png
+++ b/app/assets/images/rss-orange.png
Binary files differ
diff --git a/public/images/rss.png b/app/assets/images/rss.png
index a88ac93f5..a88ac93f5 100644
--- a/public/images/rss.png
+++ b/app/assets/images/rss.png
Binary files differ
diff --git a/public/images/search-button.png b/app/assets/images/search-button.png
index f5d41d4f1..f5d41d4f1 100644
--- a/public/images/search-button.png
+++ b/app/assets/images/search-button.png
Binary files differ
diff --git a/public/images/small-white-cross.png b/app/assets/images/small-white-cross.png
index 3f78064d2..3f78064d2 100644
--- a/public/images/small-white-cross.png
+++ b/app/assets/images/small-white-cross.png
Binary files differ
diff --git a/public/images/start-button.png b/app/assets/images/start-button.png
index 585931c35..585931c35 100644
--- a/public/images/start-button.png
+++ b/app/assets/images/start-button.png
Binary files differ
diff --git a/public/images/status-complete.png b/app/assets/images/status-complete.png
index 2ff49770a..2ff49770a 100644
--- a/public/images/status-complete.png
+++ b/app/assets/images/status-complete.png
Binary files differ
diff --git a/public/images/status-denied.png b/app/assets/images/status-denied.png
index 1f768af5e..1f768af5e 100644
--- a/public/images/status-denied.png
+++ b/app/assets/images/status-denied.png
Binary files differ
diff --git a/public/images/status-error.png b/app/assets/images/status-error.png
index 5865dd1e1..5865dd1e1 100644
--- a/public/images/status-error.png
+++ b/app/assets/images/status-error.png
Binary files differ
diff --git a/public/images/status-gone-postal.png b/app/assets/images/status-gone-postal.png
index 00df771ac..00df771ac 100644
--- a/public/images/status-gone-postal.png
+++ b/app/assets/images/status-gone-postal.png
Binary files differ
diff --git a/public/images/status-internal-review.png b/app/assets/images/status-internal-review.png
index 639f72797..639f72797 100644
--- a/public/images/status-internal-review.png
+++ b/app/assets/images/status-internal-review.png
Binary files differ
diff --git a/public/images/status-not-held.png b/app/assets/images/status-not-held.png
index 9d20ac2e7..9d20ac2e7 100644
--- a/public/images/status-not-held.png
+++ b/app/assets/images/status-not-held.png
Binary files differ
diff --git a/public/images/status-overdue.png b/app/assets/images/status-overdue.png
index 637fed8d9..637fed8d9 100644
--- a/public/images/status-overdue.png
+++ b/app/assets/images/status-overdue.png
Binary files differ
diff --git a/public/images/status-pending.png b/app/assets/images/status-pending.png
index dcf4009f3..dcf4009f3 100644
--- a/public/images/status-pending.png
+++ b/app/assets/images/status-pending.png
Binary files differ
diff --git a/public/images/status-withdrawn.png b/app/assets/images/status-withdrawn.png
index d56aa213f..d56aa213f 100644
--- a/public/images/status-withdrawn.png
+++ b/app/assets/images/status-withdrawn.png
Binary files differ
diff --git a/public/images/stripes-70-light.png b/app/assets/images/stripes-70-light.png
index 7a0ee575d..7a0ee575d 100644
--- a/public/images/stripes-70-light.png
+++ b/app/assets/images/stripes-70-light.png
Binary files differ
diff --git a/public/images/stripes-70-light2.png b/app/assets/images/stripes-70-light2.png
index 443442a48..443442a48 100644
--- a/public/images/stripes-70-light2.png
+++ b/app/assets/images/stripes-70-light2.png
Binary files differ
diff --git a/public/images/stripes-70.png b/app/assets/images/stripes-70.png
index fda1c339d..fda1c339d 100644
--- a/public/images/stripes-70.png
+++ b/app/assets/images/stripes-70.png
Binary files differ
diff --git a/public/images/stripes.png b/app/assets/images/stripes.png
index fda1c339d..fda1c339d 100644
--- a/public/images/stripes.png
+++ b/app/assets/images/stripes.png
Binary files differ
diff --git a/public/images/twitter-16.png b/app/assets/images/twitter-16.png
index e848b8f2e..e848b8f2e 100644
--- a/public/images/twitter-16.png
+++ b/app/assets/images/twitter-16.png
Binary files differ
diff --git a/public/images/twitter.png b/app/assets/images/twitter.png
index 6589824af..6589824af 100644
--- a/public/images/twitter.png
+++ b/app/assets/images/twitter.png
Binary files differ
diff --git a/public/images/ui-icons-theme.png b/app/assets/images/ui-icons-theme.png
index f619648da..f619648da 100644
--- a/public/images/ui-icons-theme.png
+++ b/app/assets/images/ui-icons-theme.png
Binary files differ
diff --git a/public/images/wordpress.png b/app/assets/images/wordpress.png
index a0e254373..a0e254373 100644
--- a/public/images/wordpress.png
+++ b/app/assets/images/wordpress.png
Binary files differ
diff --git a/public/images/writetothem.png b/app/assets/images/writetothem.png
index f5648df65..f5648df65 100644
--- a/public/images/writetothem.png
+++ b/app/assets/images/writetothem.png
Binary files differ
diff --git a/app/assets/javascripts/admin.js b/app/assets/javascripts/admin.js
new file mode 100644
index 000000000..0b5d56525
--- /dev/null
+++ b/app/assets/javascripts/admin.js
@@ -0,0 +1,7 @@
+// ...
+//= require jquery
+//= require jquery.ui.tabs
+//= require admin/bootstrap-collapse
+//= require admin/bootstrap-tab
+//= require admin/admin
+//= require jquery_ujs
diff --git a/public/admin/javascripts/admin.coffee b/app/assets/javascripts/admin/admin.js.coffee
index 3d39369a4..3d39369a4 100644
--- a/public/admin/javascripts/admin.coffee
+++ b/app/assets/javascripts/admin/admin.js.coffee
diff --git a/public/admin/javascripts/bootstrap-collapse.js b/app/assets/javascripts/admin/bootstrap-collapse.js
index 9a364468b..9a364468b 100644
--- a/public/admin/javascripts/bootstrap-collapse.js
+++ b/app/assets/javascripts/admin/bootstrap-collapse.js
diff --git a/public/admin/javascripts/bootstrap-tab.js b/app/assets/javascripts/admin/bootstrap-tab.js
index 26c9ece75..26c9ece75 100644
--- a/public/admin/javascripts/bootstrap-tab.js
+++ b/app/assets/javascripts/admin/bootstrap-tab.js
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
new file mode 100644
index 000000000..d8aed6346
--- /dev/null
+++ b/app/assets/javascripts/application.js
@@ -0,0 +1,6 @@
+// ...
+//= require jquery
+//= require jquery.ui.datepicker
+//= require jquery.cookie
+//= require general
+//= require ba-throttle-debounce
diff --git a/public/javascripts/ba-throttle-debounce.js b/app/assets/javascripts/ba-throttle-debounce.js
index 07205508e..07205508e 100644
--- a/public/javascripts/ba-throttle-debounce.js
+++ b/app/assets/javascripts/ba-throttle-debounce.js
diff --git a/public/javascripts/bootstrap-collapse.js b/app/assets/javascripts/bootstrap-collapse.js
index 9a364468b..9a364468b 100644
--- a/public/javascripts/bootstrap-collapse.js
+++ b/app/assets/javascripts/bootstrap-collapse.js
diff --git a/public/javascripts/bootstrap-tab.js b/app/assets/javascripts/bootstrap-tab.js
index 26c9ece75..26c9ece75 100644
--- a/public/javascripts/bootstrap-tab.js
+++ b/app/assets/javascripts/bootstrap-tab.js
diff --git a/public/javascripts/excanvas.min.js b/app/assets/javascripts/excanvas.min.js
index fcf876c74..fcf876c74 100644
--- a/public/javascripts/excanvas.min.js
+++ b/app/assets/javascripts/excanvas.min.js
diff --git a/public/javascripts/general.js b/app/assets/javascripts/general.js
index b52131b83..b52131b83 100644
--- a/public/javascripts/general.js
+++ b/app/assets/javascripts/general.js
diff --git a/public/javascripts/jquery.Jcrop.js b/app/assets/javascripts/jquery.Jcrop.js
index 9002b9787..9002b9787 100644
--- a/public/javascripts/jquery.Jcrop.js
+++ b/app/assets/javascripts/jquery.Jcrop.js
diff --git a/public/javascripts/jquery.cookie.js b/app/assets/javascripts/jquery.cookie.js
index 6a3e394b4..6a3e394b4 100644
--- a/public/javascripts/jquery.cookie.js
+++ b/app/assets/javascripts/jquery.cookie.js
diff --git a/public/javascripts/jquery.fancybox-1.3.4.pack.js b/app/assets/javascripts/jquery.fancybox-1.3.4.pack.js
index 1373ed083..1373ed083 100755
--- a/public/javascripts/jquery.fancybox-1.3.4.pack.js
+++ b/app/assets/javascripts/jquery.fancybox-1.3.4.pack.js
diff --git a/public/javascripts/jquery.flot.axislabels.js b/app/assets/javascripts/jquery.flot.axislabels.js
index d75b03ba9..c6f77aad4 100644
--- a/public/javascripts/jquery.flot.axislabels.js
+++ b/app/assets/javascripts/jquery.flot.axislabels.js
@@ -61,7 +61,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
this.height = 0;
}
- AxisLabel.prototype.delete = function() {
+ AxisLabel.prototype['delete'] = function() {
};
@@ -144,7 +144,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
}
};
- HtmlAxisLabel.prototype.delete = function() {
+ HtmlAxisLabel.prototype['delete'] = function() {
if (this.elem) {
this.elem.remove();
}
@@ -357,7 +357,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
axisLabels[axisName].width;
opts.labelHeight = axis.labelHeight;
opts.labelWidth = axis.labelWidth;
- axisLabels[axisName].delete();
+ axisLabels[axisName]['delete']();
delete axisLabels[axisName];
}
diff --git a/app/assets/javascripts/jquery.flot.axislabels.min.js b/app/assets/javascripts/jquery.flot.axislabels.min.js
new file mode 100644
index 000000000..684d6173a
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.axislabels.min.js
@@ -0,0 +1 @@
+(function($){var options={};function canvasSupported(){return !!document.createElement("canvas").getContext}function canvasTextSupported(){if(!canvasSupported()){return false}var dummy_canvas=document.createElement("canvas");var context=dummy_canvas.getContext("2d");return typeof context.fillText=="function"}function css3TransitionSupported(){var div=document.createElement("div");return typeof div.style.MozTransition!="undefined"||typeof div.style.OTransition!="undefined"||typeof div.style.webkitTransition!="undefined"||typeof div.style.transition!="undefined"}function AxisLabel(axisName,position,padding,plot,opts){this.axisName=axisName;this.position=position;this.padding=padding;this.plot=plot;this.opts=opts;this.width=0;this.height=0}AxisLabel.prototype["delete"]=function(){};CanvasAxisLabel.prototype=new AxisLabel();CanvasAxisLabel.prototype.constructor=CanvasAxisLabel;function CanvasAxisLabel(axisName,position,padding,plot,opts){AxisLabel.prototype.constructor.call(this,axisName,position,padding,plot,opts)}CanvasAxisLabel.prototype.calculateSize=function(){if(!this.opts.axisLabelFontSizePixels){this.opts.axisLabelFontSizePixels=14}if(!this.opts.axisLabelFontFamily){this.opts.axisLabelFontFamily="sans-serif"}var textWidth=this.opts.axisLabelFontSizePixels+this.padding;var textHeight=this.opts.axisLabelFontSizePixels+this.padding;if(this.position=="left"||this.position=="right"){this.width=this.opts.axisLabelFontSizePixels+this.padding;this.height=0}else{this.width=0;this.height=this.opts.axisLabelFontSizePixels+this.padding}};CanvasAxisLabel.prototype.draw=function(box){var ctx=this.plot.getCanvas().getContext("2d");ctx.save();ctx.font=this.opts.axisLabelFontSizePixels+"px "+this.opts.axisLabelFontFamily;var width=ctx.measureText(this.opts.axisLabel).width;var height=this.opts.axisLabelFontSizePixels;var x,y,angle=0;if(this.position=="top"){x=box.left+box.width/2-width/2;y=box.top+height*0.72}else{if(this.position=="bottom"){x=box.left+box.width/2-width/2;y=box.top+box.height-height*0.72}else{if(this.position=="left"){x=box.left+height*0.72;y=box.height/2+box.top+width/2;angle=-Math.PI/2}else{if(this.position=="right"){x=box.left+box.width-height*0.72;y=box.height/2+box.top-width/2;angle=Math.PI/2}}}}ctx.translate(x,y);ctx.rotate(angle);ctx.fillText(this.opts.axisLabel,0,0);ctx.restore()};HtmlAxisLabel.prototype=new AxisLabel();HtmlAxisLabel.prototype.constructor=HtmlAxisLabel;function HtmlAxisLabel(axisName,position,padding,plot,opts){AxisLabel.prototype.constructor.call(this,axisName,position,padding,plot,opts);this.elem=null}HtmlAxisLabel.prototype.calculateSize=function(){var elem=$('<div class="axisLabels" style="position:absolute;">'+this.opts.axisLabel+"</div>");this.plot.getPlaceholder().append(elem);this.labelWidth=elem.outerWidth(true);this.labelHeight=elem.outerHeight(true);elem.remove();this.width=this.height=0;if(this.position=="left"||this.position=="right"){this.width=this.labelWidth+this.padding}else{this.height=this.labelHeight+this.padding}};HtmlAxisLabel.prototype["delete"]=function(){if(this.elem){this.elem.remove()}};HtmlAxisLabel.prototype.draw=function(box){this.plot.getPlaceholder().find("#"+this.axisName+"Label").remove();this.elem=$('<div id="'+this.axisName+'Label" " class="axisLabels" style="position:absolute;">'+this.opts.axisLabel+"</div>");this.plot.getPlaceholder().append(this.elem);if(this.position=="top"){this.elem.css("left",box.left+box.width/2-this.labelWidth/2+"px");this.elem.css("top",box.top+"px")}else{if(this.position=="bottom"){this.elem.css("left",box.left+box.width/2-this.labelWidth/2+"px");this.elem.css("top",box.top+box.height-this.labelHeight+"px")}else{if(this.position=="left"){this.elem.css("top",box.top+box.height/2-this.labelHeight/2+"px");this.elem.css("left",box.left+"px")}else{if(this.position=="right"){this.elem.css("top",box.top+box.height/2-this.labelHeight/2+"px");this.elem.css("left",box.left+box.width-this.labelWidth+"px")}}}}};CssTransformAxisLabel.prototype=new HtmlAxisLabel();CssTransformAxisLabel.prototype.constructor=CssTransformAxisLabel;function CssTransformAxisLabel(axisName,position,padding,plot,opts){HtmlAxisLabel.prototype.constructor.call(this,axisName,position,padding,plot,opts)}CssTransformAxisLabel.prototype.calculateSize=function(){HtmlAxisLabel.prototype.calculateSize.call(this);this.width=this.height=0;if(this.position=="left"||this.position=="right"){this.width=this.labelHeight+this.padding}else{this.height=this.labelHeight+this.padding}};CssTransformAxisLabel.prototype.transforms=function(degrees,x,y){var stransforms={"-moz-transform":"","-webkit-transform":"","-o-transform":"","-ms-transform":""};if(x!=0||y!=0){var stdTranslate=" translate("+x+"px, "+y+"px)";stransforms["-moz-transform"]+=stdTranslate;stransforms["-webkit-transform"]+=stdTranslate;stransforms["-o-transform"]+=stdTranslate;stransforms["-ms-transform"]+=stdTranslate}if(degrees!=0){var rotation=degrees/90;var stdRotate=" rotate("+degrees+"deg)";stransforms["-moz-transform"]+=stdRotate;stransforms["-webkit-transform"]+=stdRotate;stransforms["-o-transform"]+=stdRotate;stransforms["-ms-transform"]+=stdRotate}var s="top: 0; left: 0; ";for(var prop in stransforms){if(stransforms[prop]){s+=prop+":"+stransforms[prop]+";"}}s+=";";return s};CssTransformAxisLabel.prototype.calculateOffsets=function(box){var offsets={x:0,y:0,degrees:0};if(this.position=="bottom"){offsets.x=box.left+box.width/2-this.labelWidth/2;offsets.y=box.top+box.height-this.labelHeight}else{if(this.position=="top"){offsets.x=box.left+box.width/2-this.labelWidth/2;offsets.y=box.top}else{if(this.position=="left"){offsets.degrees=-90;offsets.x=box.left-this.labelWidth/2+this.labelHeight/2;offsets.y=box.height/2+box.top}else{if(this.position=="right"){offsets.degrees=90;offsets.x=box.left+box.width-this.labelWidth/2-this.labelHeight/2;offsets.y=box.height/2+box.top}}}}return offsets};CssTransformAxisLabel.prototype.draw=function(box){this.plot.getPlaceholder().find("."+this.axisName+"Label").remove();var offsets=this.calculateOffsets(box);this.elem=$('<div class="axisLabels '+this.axisName+'Label" style="position:absolute; color: '+this.opts.color+"; "+this.transforms(offsets.degrees,offsets.x,offsets.y)+'">'+this.opts.axisLabel+"</div>");this.plot.getPlaceholder().append(this.elem)};IeTransformAxisLabel.prototype=new CssTransformAxisLabel();IeTransformAxisLabel.prototype.constructor=IeTransformAxisLabel;function IeTransformAxisLabel(axisName,position,padding,plot,opts){CssTransformAxisLabel.prototype.constructor.call(this,axisName,position,padding,plot,opts);this.requiresResize=false}IeTransformAxisLabel.prototype.transforms=function(degrees,x,y){var s="";if(degrees!=0){var rotation=degrees/90;while(rotation<0){rotation+=4}s+=" filter: progid:DXImageTransform.Microsoft.BasicImage(rotation="+rotation+"); ";this.requiresResize=(this.position=="right")}if(x!=0){s+="left: "+x+"px; "}if(y!=0){s+="top: "+y+"px; "}return s};IeTransformAxisLabel.prototype.calculateOffsets=function(box){var offsets=CssTransformAxisLabel.prototype.calculateOffsets.call(this,box);if(this.position=="top"){offsets.y=box.top+1}else{if(this.position=="left"){offsets.x=box.left;offsets.y=box.height/2+box.top-this.labelWidth/2}else{if(this.position=="right"){offsets.x=box.left+box.width-this.labelHeight;offsets.y=box.height/2+box.top-this.labelWidth/2}}}return offsets};IeTransformAxisLabel.prototype.draw=function(box){CssTransformAxisLabel.prototype.draw.call(this,box);if(this.requiresResize){this.elem=this.plot.getPlaceholder().find("."+this.axisName+"Label");this.elem.css("width",this.labelWidth);this.elem.css("height",this.labelHeight)}};function init(plot){var secondPass=false;var axisLabels={};var axisOffsetCounts={left:0,right:0,top:0,bottom:0};var defaultPadding=2;plot.hooks.draw.push(function(plot,ctx){var hasAxisLabels=false;if(!secondPass){$.each(plot.getAxes(),function(axisName,axis){var opts=axis.options||plot.getOptions()[axisName];if(axisName in axisLabels){axis.labelHeight=axis.labelHeight-axisLabels[axisName].height;axis.labelWidth=axis.labelWidth-axisLabels[axisName].width;opts.labelHeight=axis.labelHeight;opts.labelWidth=axis.labelWidth;axisLabels[axisName]["delete"]();delete axisLabels[axisName]}if(!opts||!opts.axisLabel||!axis.show){return}hasAxisLabels=true;var renderer=null;if(!opts.axisLabelUseHtml&&navigator.appName=="Microsoft Internet Explorer"){var ua=navigator.userAgent;var re=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(re.exec(ua)!=null){rv=parseFloat(RegExp.$1)}if(rv>=9&&!opts.axisLabelUseCanvas&&!opts.axisLabelUseHtml){renderer=CssTransformAxisLabel}else{if(!opts.axisLabelUseCanvas&&!opts.axisLabelUseHtml){renderer=IeTransformAxisLabel}else{if(opts.axisLabelUseCanvas){renderer=CanvasAxisLabel}else{renderer=HtmlAxisLabel}}}}else{if(opts.axisLabelUseHtml||(!css3TransitionSupported()&&!canvasTextSupported())&&!opts.axisLabelUseCanvas){renderer=HtmlAxisLabel}else{if(opts.axisLabelUseCanvas||!css3TransitionSupported()){renderer=CanvasAxisLabel}else{renderer=CssTransformAxisLabel}}}var padding=opts.axisLabelPadding===undefined?defaultPadding:opts.axisLabelPadding;axisLabels[axisName]=new renderer(axisName,axis.position,padding,plot,opts);axisLabels[axisName].calculateSize();opts.labelHeight=axis.labelHeight+axisLabels[axisName].height;opts.labelWidth=axis.labelWidth+axisLabels[axisName].width});if(hasAxisLabels){secondPass=true;plot.setupGrid();plot.draw()}}else{secondPass=false;$.each(plot.getAxes(),function(axisName,axis){var opts=axis.options||plot.getOptions()[axisName];if(!opts||!opts.axisLabel||!axis.show){return}axisLabels[axisName].draw(axis.box)})}})}$.plot.plugins.push({init:init,options:options,name:"axisLabels",version:"2.0b0"})})(jQuery); \ No newline at end of file
diff --git a/app/assets/javascripts/jquery.flot.errorbars.js b/app/assets/javascripts/jquery.flot.errorbars.js
new file mode 100644
index 000000000..729843678
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.errorbars.js
@@ -0,0 +1,353 @@
+/* Flot plugin for plotting error bars.
+
+Copyright (c) 2007-2013 IOLA and Ole Laursen.
+Licensed under the MIT license.
+
+Error bars are used to show standard deviation and other statistical
+properties in a plot.
+
+* Created by Rui Pereira - rui (dot) pereira (at) gmail (dot) com
+
+This plugin allows you to plot error-bars over points. Set "errorbars" inside
+the points series to the axis name over which there will be error values in
+your data array (*even* if you do not intend to plot them later, by setting
+"show: null" on xerr/yerr).
+
+The plugin supports these options:
+
+ series: {
+ points: {
+ errorbars: "x" or "y" or "xy",
+ xerr: {
+ show: null/false or true,
+ asymmetric: null/false or true,
+ upperCap: null or "-" or function,
+ lowerCap: null or "-" or function,
+ color: null or color,
+ radius: null or number
+ },
+ yerr: { same options as xerr }
+ }
+ }
+
+Each data point array is expected to be of the type:
+
+ "x" [ x, y, xerr ]
+ "y" [ x, y, yerr ]
+ "xy" [ x, y, xerr, yerr ]
+
+Where xerr becomes xerr_lower,xerr_upper for the asymmetric error case, and
+equivalently for yerr. Eg., a datapoint for the "xy" case with symmetric
+error-bars on X and asymmetric on Y would be:
+
+ [ x, y, xerr, yerr_lower, yerr_upper ]
+
+By default no end caps are drawn. Setting upperCap and/or lowerCap to "-" will
+draw a small cap perpendicular to the error bar. They can also be set to a
+user-defined drawing function, with (ctx, x, y, radius) as parameters, as eg.
+
+ function drawSemiCircle( ctx, x, y, radius ) {
+ ctx.beginPath();
+ ctx.arc( x, y, radius, 0, Math.PI, false );
+ ctx.moveTo( x - radius, y );
+ ctx.lineTo( x + radius, y );
+ ctx.stroke();
+ }
+
+Color and radius both default to the same ones of the points series if not
+set. The independent radius parameter on xerr/yerr is useful for the case when
+we may want to add error-bars to a line, without showing the interconnecting
+points (with radius: 0), and still showing end caps on the error-bars.
+shadowSize and lineWidth are derived as well from the points series.
+
+*/
+
+(function ($) {
+ var options = {
+ series: {
+ points: {
+ errorbars: null, //should be 'x', 'y' or 'xy'
+ xerr: { err: 'x', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null},
+ yerr: { err: 'y', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null}
+ }
+ }
+ };
+
+ function processRawData(plot, series, data, datapoints){
+ if (!series.points.errorbars)
+ return;
+
+ // x,y values
+ var format = [
+ { x: true, number: true, required: true },
+ { y: true, number: true, required: true }
+ ];
+
+ var errors = series.points.errorbars;
+ // error bars - first X then Y
+ if (errors == 'x' || errors == 'xy') {
+ // lower / upper error
+ if (series.points.xerr.asymmetric) {
+ format.push({ x: true, number: true, required: true });
+ format.push({ x: true, number: true, required: true });
+ } else
+ format.push({ x: true, number: true, required: true });
+ }
+ if (errors == 'y' || errors == 'xy') {
+ // lower / upper error
+ if (series.points.yerr.asymmetric) {
+ format.push({ y: true, number: true, required: true });
+ format.push({ y: true, number: true, required: true });
+ } else
+ format.push({ y: true, number: true, required: true });
+ }
+ datapoints.format = format;
+ }
+
+ function parseErrors(series, i){
+
+ var points = series.datapoints.points;
+
+ // read errors from points array
+ var exl = null,
+ exu = null,
+ eyl = null,
+ eyu = null;
+ var xerr = series.points.xerr,
+ yerr = series.points.yerr;
+
+ var eb = series.points.errorbars;
+ // error bars - first X
+ if (eb == 'x' || eb == 'xy') {
+ if (xerr.asymmetric) {
+ exl = points[i + 2];
+ exu = points[i + 3];
+ if (eb == 'xy')
+ if (yerr.asymmetric){
+ eyl = points[i + 4];
+ eyu = points[i + 5];
+ } else eyl = points[i + 4];
+ } else {
+ exl = points[i + 2];
+ if (eb == 'xy')
+ if (yerr.asymmetric) {
+ eyl = points[i + 3];
+ eyu = points[i + 4];
+ } else eyl = points[i + 3];
+ }
+ // only Y
+ } else if (eb == 'y')
+ if (yerr.asymmetric) {
+ eyl = points[i + 2];
+ eyu = points[i + 3];
+ } else eyl = points[i + 2];
+
+ // symmetric errors?
+ if (exu == null) exu = exl;
+ if (eyu == null) eyu = eyl;
+
+ var errRanges = [exl, exu, eyl, eyu];
+ // nullify if not showing
+ if (!xerr.show){
+ errRanges[0] = null;
+ errRanges[1] = null;
+ }
+ if (!yerr.show){
+ errRanges[2] = null;
+ errRanges[3] = null;
+ }
+ return errRanges;
+ }
+
+ function drawSeriesErrors(plot, ctx, s){
+
+ var points = s.datapoints.points,
+ ps = s.datapoints.pointsize,
+ ax = [s.xaxis, s.yaxis],
+ radius = s.points.radius,
+ err = [s.points.xerr, s.points.yerr];
+
+ //sanity check, in case some inverted axis hack is applied to flot
+ var invertX = false;
+ if (ax[0].p2c(ax[0].max) < ax[0].p2c(ax[0].min)) {
+ invertX = true;
+ var tmp = err[0].lowerCap;
+ err[0].lowerCap = err[0].upperCap;
+ err[0].upperCap = tmp;
+ }
+
+ var invertY = false;
+ if (ax[1].p2c(ax[1].min) < ax[1].p2c(ax[1].max)) {
+ invertY = true;
+ var tmp = err[1].lowerCap;
+ err[1].lowerCap = err[1].upperCap;
+ err[1].upperCap = tmp;
+ }
+
+ for (var i = 0; i < s.datapoints.points.length; i += ps) {
+
+ //parse
+ var errRanges = parseErrors(s, i);
+
+ //cycle xerr & yerr
+ for (var e = 0; e < err.length; e++){
+
+ var minmax = [ax[e].min, ax[e].max];
+
+ //draw this error?
+ if (errRanges[e * err.length]){
+
+ //data coordinates
+ var x = points[i],
+ y = points[i + 1];
+
+ //errorbar ranges
+ var upper = [x, y][e] + errRanges[e * err.length + 1],
+ lower = [x, y][e] - errRanges[e * err.length];
+
+ //points outside of the canvas
+ if (err[e].err == 'x')
+ if (y > ax[1].max || y < ax[1].min || upper < ax[0].min || lower > ax[0].max)
+ continue;
+ if (err[e].err == 'y')
+ if (x > ax[0].max || x < ax[0].min || upper < ax[1].min || lower > ax[1].max)
+ continue;
+
+ // prevent errorbars getting out of the canvas
+ var drawUpper = true,
+ drawLower = true;
+
+ if (upper > minmax[1]) {
+ drawUpper = false;
+ upper = minmax[1];
+ }
+ if (lower < minmax[0]) {
+ drawLower = false;
+ lower = minmax[0];
+ }
+
+ //sanity check, in case some inverted axis hack is applied to flot
+ if ((err[e].err == 'x' && invertX) || (err[e].err == 'y' && invertY)) {
+ //swap coordinates
+ var tmp = lower;
+ lower = upper;
+ upper = tmp;
+ tmp = drawLower;
+ drawLower = drawUpper;
+ drawUpper = tmp;
+ tmp = minmax[0];
+ minmax[0] = minmax[1];
+ minmax[1] = tmp;
+ }
+
+ // convert to pixels
+ x = ax[0].p2c(x),
+ y = ax[1].p2c(y),
+ upper = ax[e].p2c(upper);
+ lower = ax[e].p2c(lower);
+ minmax[0] = ax[e].p2c(minmax[0]);
+ minmax[1] = ax[e].p2c(minmax[1]);
+
+ //same style as points by default
+ var lw = err[e].lineWidth ? err[e].lineWidth : s.points.lineWidth,
+ sw = s.points.shadowSize != null ? s.points.shadowSize : s.shadowSize;
+
+ //shadow as for points
+ if (lw > 0 && sw > 0) {
+ var w = sw / 2;
+ ctx.lineWidth = w;
+ ctx.strokeStyle = "rgba(0,0,0,0.1)";
+ drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w + w/2, minmax);
+
+ ctx.strokeStyle = "rgba(0,0,0,0.2)";
+ drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w/2, minmax);
+ }
+
+ ctx.strokeStyle = err[e].color? err[e].color: s.color;
+ ctx.lineWidth = lw;
+ //draw it
+ drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, 0, minmax);
+ }
+ }
+ }
+ }
+
+ function drawError(ctx,err,x,y,upper,lower,drawUpper,drawLower,radius,offset,minmax){
+
+ //shadow offset
+ y += offset;
+ upper += offset;
+ lower += offset;
+
+ // error bar - avoid plotting over circles
+ if (err.err == 'x'){
+ if (upper > x + radius) drawPath(ctx, [[upper,y],[Math.max(x + radius,minmax[0]),y]]);
+ else drawUpper = false;
+ if (lower < x - radius) drawPath(ctx, [[Math.min(x - radius,minmax[1]),y],[lower,y]] );
+ else drawLower = false;
+ }
+ else {
+ if (upper < y - radius) drawPath(ctx, [[x,upper],[x,Math.min(y - radius,minmax[0])]] );
+ else drawUpper = false;
+ if (lower > y + radius) drawPath(ctx, [[x,Math.max(y + radius,minmax[1])],[x,lower]] );
+ else drawLower = false;
+ }
+
+ //internal radius value in errorbar, allows to plot radius 0 points and still keep proper sized caps
+ //this is a way to get errorbars on lines without visible connecting dots
+ radius = err.radius != null? err.radius: radius;
+
+ // upper cap
+ if (drawUpper) {
+ if (err.upperCap == '-'){
+ if (err.err=='x') drawPath(ctx, [[upper,y - radius],[upper,y + radius]] );
+ else drawPath(ctx, [[x - radius,upper],[x + radius,upper]] );
+ } else if ($.isFunction(err.upperCap)){
+ if (err.err=='x') err.upperCap(ctx, upper, y, radius);
+ else err.upperCap(ctx, x, upper, radius);
+ }
+ }
+ // lower cap
+ if (drawLower) {
+ if (err.lowerCap == '-'){
+ if (err.err=='x') drawPath(ctx, [[lower,y - radius],[lower,y + radius]] );
+ else drawPath(ctx, [[x - radius,lower],[x + radius,lower]] );
+ } else if ($.isFunction(err.lowerCap)){
+ if (err.err=='x') err.lowerCap(ctx, lower, y, radius);
+ else err.lowerCap(ctx, x, lower, radius);
+ }
+ }
+ }
+
+ function drawPath(ctx, pts){
+ ctx.beginPath();
+ ctx.moveTo(pts[0][0], pts[0][1]);
+ for (var p=1; p < pts.length; p++)
+ ctx.lineTo(pts[p][0], pts[p][1]);
+ ctx.stroke();
+ }
+
+ function draw(plot, ctx){
+ var plotOffset = plot.getPlotOffset();
+
+ ctx.save();
+ ctx.translate(plotOffset.left, plotOffset.top);
+ $.each(plot.getData(), function (i, s) {
+ if (s.points.errorbars && (s.points.xerr.show || s.points.yerr.show))
+ drawSeriesErrors(plot, ctx, s);
+ });
+ ctx.restore();
+ }
+
+ function init(plot) {
+ plot.hooks.processRawData.push(processRawData);
+ plot.hooks.draw.push(draw);
+ }
+
+ $.plot.plugins.push({
+ init: init,
+ options: options,
+ name: 'errorbars',
+ version: '1.0'
+ });
+})(jQuery);
diff --git a/app/assets/javascripts/jquery.flot.errorbars.min.js b/app/assets/javascripts/jquery.flot.errorbars.min.js
new file mode 100644
index 000000000..84a514b07
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.errorbars.min.js
@@ -0,0 +1 @@
+(function($){var options={series:{points:{errorbars:null,xerr:{err:"x",show:null,asymmetric:null,upperCap:null,lowerCap:null,color:null,radius:null},yerr:{err:"y",show:null,asymmetric:null,upperCap:null,lowerCap:null,color:null,radius:null}}}};function processRawData(plot,series,data,datapoints){if(!series.points.errorbars){return}var format=[{x:true,number:true,required:true},{y:true,number:true,required:true}];var errors=series.points.errorbars;if(errors=="x"||errors=="xy"){if(series.points.xerr.asymmetric){format.push({x:true,number:true,required:true});format.push({x:true,number:true,required:true})}else{format.push({x:true,number:true,required:true})}}if(errors=="y"||errors=="xy"){if(series.points.yerr.asymmetric){format.push({y:true,number:true,required:true});format.push({y:true,number:true,required:true})}else{format.push({y:true,number:true,required:true})}}datapoints.format=format}function parseErrors(series,i){var points=series.datapoints.points;var exl=null,exu=null,eyl=null,eyu=null;var xerr=series.points.xerr,yerr=series.points.yerr;var eb=series.points.errorbars;if(eb=="x"||eb=="xy"){if(xerr.asymmetric){exl=points[i+2];exu=points[i+3];if(eb=="xy"){if(yerr.asymmetric){eyl=points[i+4];eyu=points[i+5]}else{eyl=points[i+4]}}}else{exl=points[i+2];if(eb=="xy"){if(yerr.asymmetric){eyl=points[i+3];eyu=points[i+4]}else{eyl=points[i+3]}}}}else{if(eb=="y"){if(yerr.asymmetric){eyl=points[i+2];eyu=points[i+3]}else{eyl=points[i+2]}}}if(exu==null){exu=exl}if(eyu==null){eyu=eyl}var errRanges=[exl,exu,eyl,eyu];if(!xerr.show){errRanges[0]=null;errRanges[1]=null}if(!yerr.show){errRanges[2]=null;errRanges[3]=null}return errRanges}function drawSeriesErrors(plot,ctx,s){var points=s.datapoints.points,ps=s.datapoints.pointsize,ax=[s.xaxis,s.yaxis],radius=s.points.radius,err=[s.points.xerr,s.points.yerr];var invertX=false;if(ax[0].p2c(ax[0].max)<ax[0].p2c(ax[0].min)){invertX=true;var tmp=err[0].lowerCap;err[0].lowerCap=err[0].upperCap;err[0].upperCap=tmp}var invertY=false;if(ax[1].p2c(ax[1].min)<ax[1].p2c(ax[1].max)){invertY=true;var tmp=err[1].lowerCap;err[1].lowerCap=err[1].upperCap;err[1].upperCap=tmp}for(var i=0;i<s.datapoints.points.length;i+=ps){var errRanges=parseErrors(s,i);for(var e=0;e<err.length;e++){var minmax=[ax[e].min,ax[e].max];if(errRanges[e*err.length]){var x=points[i],y=points[i+1];var upper=[x,y][e]+errRanges[e*err.length+1],lower=[x,y][e]-errRanges[e*err.length];if(err[e].err=="x"){if(y>ax[1].max||y<ax[1].min||upper<ax[0].min||lower>ax[0].max){continue}}if(err[e].err=="y"){if(x>ax[0].max||x<ax[0].min||upper<ax[1].min||lower>ax[1].max){continue}}var drawUpper=true,drawLower=true;if(upper>minmax[1]){drawUpper=false;upper=minmax[1]}if(lower<minmax[0]){drawLower=false;lower=minmax[0]}if((err[e].err=="x"&&invertX)||(err[e].err=="y"&&invertY)){var tmp=lower;lower=upper;upper=tmp;tmp=drawLower;drawLower=drawUpper;drawUpper=tmp;tmp=minmax[0];minmax[0]=minmax[1];minmax[1]=tmp}x=ax[0].p2c(x),y=ax[1].p2c(y),upper=ax[e].p2c(upper);lower=ax[e].p2c(lower);minmax[0]=ax[e].p2c(minmax[0]);minmax[1]=ax[e].p2c(minmax[1]);var lw=err[e].lineWidth?err[e].lineWidth:s.points.lineWidth,sw=s.points.shadowSize!=null?s.points.shadowSize:s.shadowSize;if(lw>0&&sw>0){var w=sw/2;ctx.lineWidth=w;ctx.strokeStyle="rgba(0,0,0,0.1)";drawError(ctx,err[e],x,y,upper,lower,drawUpper,drawLower,radius,w+w/2,minmax);ctx.strokeStyle="rgba(0,0,0,0.2)";drawError(ctx,err[e],x,y,upper,lower,drawUpper,drawLower,radius,w/2,minmax)}ctx.strokeStyle=err[e].color?err[e].color:s.color;ctx.lineWidth=lw;drawError(ctx,err[e],x,y,upper,lower,drawUpper,drawLower,radius,0,minmax)}}}}function drawError(ctx,err,x,y,upper,lower,drawUpper,drawLower,radius,offset,minmax){y+=offset;upper+=offset;lower+=offset;if(err.err=="x"){if(upper>x+radius){drawPath(ctx,[[upper,y],[Math.max(x+radius,minmax[0]),y]])}else{drawUpper=false}if(lower<x-radius){drawPath(ctx,[[Math.min(x-radius,minmax[1]),y],[lower,y]])}else{drawLower=false}}else{if(upper<y-radius){drawPath(ctx,[[x,upper],[x,Math.min(y-radius,minmax[0])]])}else{drawUpper=false}if(lower>y+radius){drawPath(ctx,[[x,Math.max(y+radius,minmax[1])],[x,lower]])}else{drawLower=false}}radius=err.radius!=null?err.radius:radius;if(drawUpper){if(err.upperCap=="-"){if(err.err=="x"){drawPath(ctx,[[upper,y-radius],[upper,y+radius]])}else{drawPath(ctx,[[x-radius,upper],[x+radius,upper]])}}else{if($.isFunction(err.upperCap)){if(err.err=="x"){err.upperCap(ctx,upper,y,radius)}else{err.upperCap(ctx,x,upper,radius)}}}}if(drawLower){if(err.lowerCap=="-"){if(err.err=="x"){drawPath(ctx,[[lower,y-radius],[lower,y+radius]])}else{drawPath(ctx,[[x-radius,lower],[x+radius,lower]])}}else{if($.isFunction(err.lowerCap)){if(err.err=="x"){err.lowerCap(ctx,lower,y,radius)}else{err.lowerCap(ctx,x,lower,radius)}}}}}function drawPath(ctx,pts){ctx.beginPath();ctx.moveTo(pts[0][0],pts[0][1]);for(var p=1;p<pts.length;p++){ctx.lineTo(pts[p][0],pts[p][1])}ctx.stroke()}function draw(plot,ctx){var plotOffset=plot.getPlotOffset();ctx.save();ctx.translate(plotOffset.left,plotOffset.top);$.each(plot.getData(),function(i,s){if(s.points.errorbars&&(s.points.xerr.show||s.points.yerr.show)){drawSeriesErrors(plot,ctx,s)}});ctx.restore()}function init(plot){plot.hooks.processRawData.push(processRawData);plot.hooks.draw.push(draw)}$.plot.plugins.push({init:init,options:options,name:"errorbars",version:"1.0"})})(jQuery); \ No newline at end of file
diff --git a/app/assets/javascripts/jquery.flot.js b/app/assets/javascripts/jquery.flot.js
new file mode 100644
index 000000000..2855d2eb3
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.js
@@ -0,0 +1,3078 @@
+/* Javascript plotting library for jQuery, version 0.8.2-alpha.
+
+Copyright (c) 2007-2013 IOLA and Ole Laursen.
+Licensed under the MIT license.
+
+*/
+
+// first an inline dependency, jquery.colorhelpers.js, we inline it here
+// for convenience
+
+/* Plugin for jQuery for working with colors.
+ *
+ * Version 1.1.
+ *
+ * Inspiration from jQuery color animation plugin by John Resig.
+ *
+ * Released under the MIT license by Ole Laursen, October 2009.
+ *
+ * Examples:
+ *
+ * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString()
+ * var c = $.color.extract($("#mydiv"), 'background-color');
+ * console.log(c.r, c.g, c.b, c.a);
+ * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)"
+ *
+ * Note that .scale() and .add() return the same modified object
+ * instead of making a new one.
+ *
+ * V. 1.1: Fix error handling so e.g. parsing an empty string does
+ * produce a color rather than just crashing.
+ */
+(function(B){B.color={};B.color.make=function(F,E,C,D){var G={};G.r=F||0;G.g=E||0;G.b=C||0;G.a=D!=null?D:1;G.add=function(J,I){for(var H=0;H<J.length;++H){G[J.charAt(H)]+=I}return G.normalize()};G.scale=function(J,I){for(var H=0;H<J.length;++H){G[J.charAt(H)]*=I}return G.normalize()};G.toString=function(){if(G.a>=1){return"rgb("+[G.r,G.g,G.b].join(",")+")"}else{return"rgba("+[G.r,G.g,G.b,G.a].join(",")+")"}};G.normalize=function(){function H(J,K,I){return K<J?J:(K>I?I:K)}G.r=H(0,parseInt(G.r),255);G.g=H(0,parseInt(G.g),255);G.b=H(0,parseInt(G.b),255);G.a=H(0,G.a,1);return G};G.clone=function(){return B.color.make(G.r,G.b,G.g,G.a)};return G.normalize()};B.color.extract=function(D,C){var E;do{E=D.css(C).toLowerCase();if(E!=""&&E!="transparent"){break}D=D.parent()}while(!B.nodeName(D.get(0),"body"));if(E=="rgba(0, 0, 0, 0)"){E="transparent"}return B.color.parse(E)};B.color.parse=function(F){var E,C=B.color.make;if(E=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10))}if(E=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10),parseFloat(E[4]))}if(E=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55)}if(E=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55,parseFloat(E[4]))}if(E=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(F)){return C(parseInt(E[1],16),parseInt(E[2],16),parseInt(E[3],16))}if(E=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(F)){return C(parseInt(E[1]+E[1],16),parseInt(E[2]+E[2],16),parseInt(E[3]+E[3],16))}var D=B.trim(F).toLowerCase();if(D=="transparent"){return C(255,255,255,0)}else{E=A[D]||[0,0,0];return C(E[0],E[1],E[2])}};var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);
+
+// the actual Flot code
+(function($) {
+
+ // Cache the prototype hasOwnProperty for faster access
+
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // The Canvas object is a wrapper around an HTML5 <canvas> tag.
+ //
+ // @constructor
+ // @param {string} cls List of classes to apply to the canvas.
+ // @param {element} container Element onto which to append the canvas.
+ //
+ // Requiring a container is a little iffy, but unfortunately canvas
+ // operations don't work unless the canvas is attached to the DOM.
+
+ function Canvas(cls, container) {
+
+ var element = container.children("." + cls)[0];
+
+ if (element == null) {
+
+ element = document.createElement("canvas");
+ element.className = cls;
+
+ $(element).css({ direction: "ltr", position: "absolute", left: 0, top: 0 })
+ .appendTo(container);
+
+ // If HTML5 Canvas isn't available, fall back to [Ex|Flash]canvas
+
+ if (!element.getContext) {
+ if (window.G_vmlCanvasManager) {
+ element = window.G_vmlCanvasManager.initElement(element);
+ } else {
+ throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.");
+ }
+ }
+ }
+
+ this.element = element;
+
+ var context = this.context = element.getContext("2d");
+
+ // Determine the screen's ratio of physical to device-independent
+ // pixels. This is the ratio between the canvas width that the browser
+ // advertises and the number of pixels actually present in that space.
+
+ // The iPhone 4, for example, has a device-independent width of 320px,
+ // but its screen is actually 640px wide. It therefore has a pixel
+ // ratio of 2, while most normal devices have a ratio of 1.
+
+ var devicePixelRatio = window.devicePixelRatio || 1,
+ backingStoreRatio =
+ context.webkitBackingStorePixelRatio ||
+ context.mozBackingStorePixelRatio ||
+ context.msBackingStorePixelRatio ||
+ context.oBackingStorePixelRatio ||
+ context.backingStorePixelRatio || 1;
+
+ this.pixelRatio = devicePixelRatio / backingStoreRatio;
+
+ // Size the canvas to match the internal dimensions of its container
+
+ this.resize(container.width(), container.height());
+
+ // Collection of HTML div layers for text overlaid onto the canvas
+
+ this.textContainer = null;
+ this.text = {};
+
+ // Cache of text fragments and metrics, so we can avoid expensively
+ // re-calculating them when the plot is re-rendered in a loop.
+
+ this._textCache = {};
+ }
+
+ // Resizes the canvas to the given dimensions.
+ //
+ // @param {number} width New width of the canvas, in pixels.
+ // @param {number} width New height of the canvas, in pixels.
+
+ Canvas.prototype.resize = function(width, height) {
+
+ if (width <= 0 || height <= 0) {
+ throw new Error("Invalid dimensions for plot, width = " + width + ", height = " + height);
+ }
+
+ var element = this.element,
+ context = this.context,
+ pixelRatio = this.pixelRatio;
+
+ // Resize the canvas, increasing its density based on the display's
+ // pixel ratio; basically giving it more pixels without increasing the
+ // size of its element, to take advantage of the fact that retina
+ // displays have that many more pixels in the same advertised space.
+
+ // Resizing should reset the state (excanvas seems to be buggy though)
+
+ if (this.width != width) {
+ element.width = width * pixelRatio;
+ element.style.width = width + "px";
+ this.width = width;
+ }
+
+ if (this.height != height) {
+ element.height = height * pixelRatio;
+ element.style.height = height + "px";
+ this.height = height;
+ }
+
+ // Save the context, so we can reset in case we get replotted. The
+ // restore ensure that we're really back at the initial state, and
+ // should be safe even if we haven't saved the initial state yet.
+
+ context.restore();
+ context.save();
+
+ // Scale the coordinate space to match the display density; so even though we
+ // may have twice as many pixels, we still want lines and other drawing to
+ // appear at the same size; the extra pixels will just make them crisper.
+
+ context.scale(pixelRatio, pixelRatio);
+ };
+
+ // Clears the entire canvas area, not including any overlaid HTML text
+
+ Canvas.prototype.clear = function() {
+ this.context.clearRect(0, 0, this.width, this.height);
+ };
+
+ // Finishes rendering the canvas, including managing the text overlay.
+
+ Canvas.prototype.render = function() {
+
+ var cache = this._textCache;
+
+ // For each text layer, add elements marked as active that haven't
+ // already been rendered, and remove those that are no longer active.
+
+ for (var layerKey in cache) {
+ if (hasOwnProperty.call(cache, layerKey)) {
+
+ var layer = this.getTextLayer(layerKey),
+ layerCache = cache[layerKey];
+
+ layer.hide();
+
+ for (var styleKey in layerCache) {
+ if (hasOwnProperty.call(layerCache, styleKey)) {
+ var styleCache = layerCache[styleKey];
+ for (var key in styleCache) {
+ if (hasOwnProperty.call(styleCache, key)) {
+
+ var positions = styleCache[key].positions;
+
+ for (var i = 0, position; position = positions[i]; i++) {
+ if (position.active) {
+ if (!position.rendered) {
+ layer.append(position.element);
+ position.rendered = true;
+ }
+ } else {
+ positions.splice(i--, 1);
+ if (position.rendered) {
+ position.element.detach();
+ }
+ }
+ }
+
+ if (positions.length == 0) {
+ delete styleCache[key];
+ }
+ }
+ }
+ }
+ }
+
+ layer.show();
+ }
+ }
+ };
+
+ // Creates (if necessary) and returns the text overlay container.
+ //
+ // @param {string} classes String of space-separated CSS classes used to
+ // uniquely identify the text layer.
+ // @return {object} The jQuery-wrapped text-layer div.
+
+ Canvas.prototype.getTextLayer = function(classes) {
+
+ var layer = this.text[classes];
+
+ // Create the text layer if it doesn't exist
+
+ if (layer == null) {
+
+ // Create the text layer container, if it doesn't exist
+
+ if (this.textContainer == null) {
+ this.textContainer = $("<div class='flot-text'></div>")
+ .css({
+ position: "absolute",
+ top: 0,
+ left: 0,
+ bottom: 0,
+ right: 0,
+ 'font-size': "smaller",
+ color: "#545454"
+ })
+ .insertAfter(this.element);
+ }
+
+ layer = this.text[classes] = $("<div></div>")
+ .addClass(classes)
+ .css({
+ position: "absolute",
+ top: 0,
+ left: 0,
+ bottom: 0,
+ right: 0
+ })
+ .appendTo(this.textContainer);
+ }
+
+ return layer;
+ };
+
+ // Creates (if necessary) and returns a text info object.
+ //
+ // The object looks like this:
+ //
+ // {
+ // width: Width of the text's wrapper div.
+ // height: Height of the text's wrapper div.
+ // element: The jQuery-wrapped HTML div containing the text.
+ // positions: Array of positions at which this text is drawn.
+ // }
+ //
+ // The positions array contains objects that look like this:
+ //
+ // {
+ // active: Flag indicating whether the text should be visible.
+ // rendered: Flag indicating whether the text is currently visible.
+ // element: The jQuery-wrapped HTML div containing the text.
+ // x: X coordinate at which to draw the text.
+ // y: Y coordinate at which to draw the text.
+ // }
+ //
+ // Each position after the first receives a clone of the original element.
+ //
+ // The idea is that that the width, height, and general 'identity' of the
+ // text is constant no matter where it is placed; the placements are a
+ // secondary property.
+ //
+ // Canvas maintains a cache of recently-used text info objects; getTextInfo
+ // either returns the cached element or creates a new entry.
+ //
+ // @param {string} layer A string of space-separated CSS classes uniquely
+ // identifying the layer containing this text.
+ // @param {string} text Text string to retrieve info for.
+ // @param {(string|object)=} font Either a string of space-separated CSS
+ // classes or a font-spec object, defining the text's font and style.
+ // @param {number=} angle Angle at which to rotate the text, in degrees.
+ // Angle is currently unused, it will be implemented in the future.
+ // @param {number=} width Maximum width of the text before it wraps.
+ // @return {object} a text info object.
+
+ Canvas.prototype.getTextInfo = function(layer, text, font, angle, width) {
+
+ var textStyle, layerCache, styleCache, info;
+
+ // Cast the value to a string, in case we were given a number or such
+
+ text = "" + text;
+
+ // If the font is a font-spec object, generate a CSS font definition
+
+ if (typeof font === "object") {
+ textStyle = font.style + " " + font.variant + " " + font.weight + " " + font.size + "px/" + font.lineHeight + "px " + font.family;
+ } else {
+ textStyle = font;
+ }
+
+ // Retrieve (or create) the cache for the text's layer and styles
+
+ layerCache = this._textCache[layer];
+
+ if (layerCache == null) {
+ layerCache = this._textCache[layer] = {};
+ }
+
+ styleCache = layerCache[textStyle];
+
+ if (styleCache == null) {
+ styleCache = layerCache[textStyle] = {};
+ }
+
+ info = styleCache[text];
+
+ // If we can't find a matching element in our cache, create a new one
+
+ if (info == null) {
+
+ var element = $("<div></div>").html(text)
+ .css({
+ position: "absolute",
+ 'max-width': width,
+ top: -9999
+ })
+ .appendTo(this.getTextLayer(layer));
+
+ if (typeof font === "object") {
+ element.css({
+ font: textStyle,
+ color: font.color
+ });
+ } else if (typeof font === "string") {
+ element.addClass(font);
+ }
+
+ info = styleCache[text] = {
+ width: element.outerWidth(true),
+ height: element.outerHeight(true),
+ element: element,
+ positions: []
+ };
+
+ element.detach();
+ }
+
+ return info;
+ };
+
+ // Adds a text string to the canvas text overlay.
+ //
+ // The text isn't drawn immediately; it is marked as rendering, which will
+ // result in its addition to the canvas on the next render pass.
+ //
+ // @param {string} layer A string of space-separated CSS classes uniquely
+ // identifying the layer containing this text.
+ // @param {number} x X coordinate at which to draw the text.
+ // @param {number} y Y coordinate at which to draw the text.
+ // @param {string} text Text string to draw.
+ // @param {(string|object)=} font Either a string of space-separated CSS
+ // classes or a font-spec object, defining the text's font and style.
+ // @param {number=} angle Angle at which to rotate the text, in degrees.
+ // Angle is currently unused, it will be implemented in the future.
+ // @param {number=} width Maximum width of the text before it wraps.
+ // @param {string=} halign Horizontal alignment of the text; either "left",
+ // "center" or "right".
+ // @param {string=} valign Vertical alignment of the text; either "top",
+ // "middle" or "bottom".
+
+ Canvas.prototype.addText = function(layer, x, y, text, font, angle, width, halign, valign) {
+
+ var info = this.getTextInfo(layer, text, font, angle, width),
+ positions = info.positions;
+
+ // Tweak the div's position to match the text's alignment
+
+ if (halign == "center") {
+ x -= info.width / 2;
+ } else if (halign == "right") {
+ x -= info.width;
+ }
+
+ if (valign == "middle") {
+ y -= info.height / 2;
+ } else if (valign == "bottom") {
+ y -= info.height;
+ }
+
+ // Determine whether this text already exists at this position.
+ // If so, mark it for inclusion in the next render pass.
+
+ for (var i = 0, position; position = positions[i]; i++) {
+ if (position.x == x && position.y == y) {
+ position.active = true;
+ return;
+ }
+ }
+
+ // If the text doesn't exist at this position, create a new entry
+
+ // For the very first position we'll re-use the original element,
+ // while for subsequent ones we'll clone it.
+
+ position = {
+ active: true,
+ rendered: false,
+ element: positions.length ? info.element.clone() : info.element,
+ x: x,
+ y: y
+ };
+
+ positions.push(position);
+
+ // Move the element to its final position within the container
+
+ position.element.css({
+ top: Math.round(y),
+ left: Math.round(x),
+ 'text-align': halign // In case the text wraps
+ });
+ };
+
+ // Removes one or more text strings from the canvas text overlay.
+ //
+ // If no parameters are given, all text within the layer is removed.
+ //
+ // Note that the text is not immediately removed; it is simply marked as
+ // inactive, which will result in its removal on the next render pass.
+ // This avoids the performance penalty for 'clear and redraw' behavior,
+ // where we potentially get rid of all text on a layer, but will likely
+ // add back most or all of it later, as when redrawing axes, for example.
+ //
+ // @param {string} layer A string of space-separated CSS classes uniquely
+ // identifying the layer containing this text.
+ // @param {number=} x X coordinate of the text.
+ // @param {number=} y Y coordinate of the text.
+ // @param {string=} text Text string to remove.
+ // @param {(string|object)=} font Either a string of space-separated CSS
+ // classes or a font-spec object, defining the text's font and style.
+ // @param {number=} angle Angle at which the text is rotated, in degrees.
+ // Angle is currently unused, it will be implemented in the future.
+
+ Canvas.prototype.removeText = function(layer, x, y, text, font, angle) {
+ if (text == null) {
+ var layerCache = this._textCache[layer];
+ if (layerCache != null) {
+ for (var styleKey in layerCache) {
+ if (hasOwnProperty.call(layerCache, styleKey)) {
+ var styleCache = layerCache[styleKey];
+ for (var key in styleCache) {
+ if (hasOwnProperty.call(styleCache, key)) {
+ var positions = styleCache[key].positions;
+ for (var i = 0, position; position = positions[i]; i++) {
+ position.active = false;
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ var positions = this.getTextInfo(layer, text, font, angle).positions;
+ for (var i = 0, position; position = positions[i]; i++) {
+ if (position.x == x && position.y == y) {
+ position.active = false;
+ }
+ }
+ }
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ // The top-level container for the entire plot.
+
+ function Plot(placeholder, data_, options_, plugins) {
+ // data is on the form:
+ // [ series1, series2 ... ]
+ // where series is either just the data as [ [x1, y1], [x2, y2], ... ]
+ // or { data: [ [x1, y1], [x2, y2], ... ], label: "some label", ... }
+
+ var series = [],
+ options = {
+ // the color theme used for graphs
+ colors: ["#edc240", "#afd8f8", "#cb4b4b", "#4da74d", "#9440ed"],
+ legend: {
+ show: true,
+ noColumns: 1, // number of colums in legend table
+ labelFormatter: null, // fn: string -> string
+ labelBoxBorderColor: "#ccc", // border color for the little label boxes
+ container: null, // container (as jQuery object) to put legend in, null means default on top of graph
+ position: "ne", // position of default legend container within plot
+ margin: 5, // distance from grid edge to default legend container within plot
+ backgroundColor: null, // null means auto-detect
+ backgroundOpacity: 0.85, // set to 0 to avoid background
+ sorted: null // default to no legend sorting
+ },
+ xaxis: {
+ show: null, // null = auto-detect, true = always, false = never
+ position: "bottom", // or "top"
+ mode: null, // null or "time"
+ font: null, // null (derived from CSS in placeholder) or object like { size: 11, lineHeight: 13, style: "italic", weight: "bold", family: "sans-serif", variant: "small-caps" }
+ color: null, // base color, labels, ticks
+ tickColor: null, // possibly different color of ticks, e.g. "rgba(0,0,0,0.15)"
+ transform: null, // null or f: number -> number to transform axis
+ inverseTransform: null, // if transform is set, this should be the inverse function
+ min: null, // min. value to show, null means set automatically
+ max: null, // max. value to show, null means set automatically
+ autoscaleMargin: null, // margin in % to add if auto-setting min/max
+ ticks: null, // either [1, 3] or [[1, "a"], 3] or (fn: axis info -> ticks) or app. number of ticks for auto-ticks
+ tickFormatter: null, // fn: number -> string
+ labelWidth: null, // size of tick labels in pixels
+ labelHeight: null,
+ reserveSpace: null, // whether to reserve space even if axis isn't shown
+ tickLength: null, // size in pixels of ticks, or "full" for whole line
+ alignTicksWithAxis: null, // axis number or null for no sync
+ tickDecimals: null, // no. of decimals, null means auto
+ tickSize: null, // number or [number, "unit"]
+ minTickSize: null // number or [number, "unit"]
+ },
+ yaxis: {
+ autoscaleMargin: 0.02,
+ position: "left" // or "right"
+ },
+ xaxes: [],
+ yaxes: [],
+ series: {
+ points: {
+ show: false,
+ radius: 3,
+ lineWidth: 2, // in pixels
+ fill: true,
+ fillColor: "#ffffff",
+ symbol: "circle" // or callback
+ },
+ lines: {
+ // we don't put in show: false so we can see
+ // whether lines were actively disabled
+ lineWidth: 2, // in pixels
+ fill: false,
+ fillColor: null,
+ steps: false
+ // Omit 'zero', so we can later default its value to
+ // match that of the 'fill' option.
+ },
+ bars: {
+ show: false,
+ lineWidth: 2, // in pixels
+ barWidth: 1, // in units of the x axis
+ fill: true,
+ fillColor: null,
+ align: "left", // "left", "right", or "center"
+ horizontal: false,
+ zero: true
+ },
+ shadowSize: 3,
+ highlightColor: null
+ },
+ grid: {
+ show: true,
+ aboveData: false,
+ color: "#545454", // primary color used for outline and labels
+ backgroundColor: null, // null for transparent, else color
+ borderColor: null, // set if different from the grid color
+ tickColor: null, // color for the ticks, e.g. "rgba(0,0,0,0.15)"
+ margin: 0, // distance from the canvas edge to the grid
+ labelMargin: 5, // in pixels
+ axisMargin: 8, // in pixels
+ borderWidth: 2, // in pixels
+ minBorderMargin: null, // in pixels, null means taken from points radius
+ markings: null, // array of ranges or fn: axes -> array of ranges
+ markingsColor: "#f4f4f4",
+ markingsLineWidth: 2,
+ // interactive stuff
+ clickable: false,
+ hoverable: false,
+ autoHighlight: true, // highlight in case mouse is near
+ mouseActiveRadius: 10 // how far the mouse can be away to activate an item
+ },
+ interaction: {
+ redrawOverlayInterval: 1000/60 // time between updates, -1 means in same flow
+ },
+ hooks: {}
+ },
+ surface = null, // the canvas for the plot itself
+ overlay = null, // canvas for interactive stuff on top of plot
+ eventHolder = null, // jQuery object that events should be bound to
+ ctx = null, octx = null,
+ xaxes = [], yaxes = [],
+ plotOffset = { left: 0, right: 0, top: 0, bottom: 0},
+ plotWidth = 0, plotHeight = 0,
+ hooks = {
+ processOptions: [],
+ processRawData: [],
+ processDatapoints: [],
+ processOffset: [],
+ drawBackground: [],
+ drawSeries: [],
+ draw: [],
+ bindEvents: [],
+ drawOverlay: [],
+ shutdown: []
+ },
+ plot = this;
+
+ // public functions
+ plot.setData = setData;
+ plot.setupGrid = setupGrid;
+ plot.draw = draw;
+ plot.getPlaceholder = function() { return placeholder; };
+ plot.getCanvas = function() { return surface.element; };
+ plot.getPlotOffset = function() { return plotOffset; };
+ plot.width = function () { return plotWidth; };
+ plot.height = function () { return plotHeight; };
+ plot.offset = function () {
+ var o = eventHolder.offset();
+ o.left += plotOffset.left;
+ o.top += plotOffset.top;
+ return o;
+ };
+ plot.getData = function () { return series; };
+ plot.getAxes = function () {
+ var res = {}, i;
+ $.each(xaxes.concat(yaxes), function (_, axis) {
+ if (axis)
+ res[axis.direction + (axis.n != 1 ? axis.n : "") + "axis"] = axis;
+ });
+ return res;
+ };
+ plot.getXAxes = function () { return xaxes; };
+ plot.getYAxes = function () { return yaxes; };
+ plot.c2p = canvasToAxisCoords;
+ plot.p2c = axisToCanvasCoords;
+ plot.getOptions = function () { return options; };
+ plot.highlight = highlight;
+ plot.unhighlight = unhighlight;
+ plot.triggerRedrawOverlay = triggerRedrawOverlay;
+ plot.pointOffset = function(point) {
+ return {
+ left: parseInt(xaxes[axisNumber(point, "x") - 1].p2c(+point.x) + plotOffset.left, 10),
+ top: parseInt(yaxes[axisNumber(point, "y") - 1].p2c(+point.y) + plotOffset.top, 10)
+ };
+ };
+ plot.shutdown = shutdown;
+ plot.resize = function () {
+ var width = placeholder.width(),
+ height = placeholder.height();
+ surface.resize(width, height);
+ overlay.resize(width, height);
+ };
+
+ // public attributes
+ plot.hooks = hooks;
+
+ // initialize
+ initPlugins(plot);
+ parseOptions(options_);
+ setupCanvases();
+ setData(data_);
+ setupGrid();
+ draw();
+ bindEvents();
+
+
+ function executeHooks(hook, args) {
+ args = [plot].concat(args);
+ for (var i = 0; i < hook.length; ++i)
+ hook[i].apply(this, args);
+ }
+
+ function initPlugins() {
+
+ // References to key classes, allowing plugins to modify them
+
+ var classes = {
+ Canvas: Canvas
+ };
+
+ for (var i = 0; i < plugins.length; ++i) {
+ var p = plugins[i];
+ p.init(plot, classes);
+ if (p.options)
+ $.extend(true, options, p.options);
+ }
+ }
+
+ function parseOptions(opts) {
+
+ $.extend(true, options, opts);
+
+ // $.extend merges arrays, rather than replacing them. When less
+ // colors are provided than the size of the default palette, we
+ // end up with those colors plus the remaining defaults, which is
+ // not expected behavior; avoid it by replacing them here.
+
+ if (opts && opts.colors) {
+ options.colors = opts.colors;
+ }
+
+ if (options.xaxis.color == null)
+ options.xaxis.color = $.color.parse(options.grid.color).scale('a', 0.22).toString();
+ if (options.yaxis.color == null)
+ options.yaxis.color = $.color.parse(options.grid.color).scale('a', 0.22).toString();
+
+ if (options.xaxis.tickColor == null) // grid.tickColor for back-compatibility
+ options.xaxis.tickColor = options.grid.tickColor || options.xaxis.color;
+ if (options.yaxis.tickColor == null) // grid.tickColor for back-compatibility
+ options.yaxis.tickColor = options.grid.tickColor || options.yaxis.color;
+
+ if (options.grid.borderColor == null)
+ options.grid.borderColor = options.grid.color;
+ if (options.grid.tickColor == null)
+ options.grid.tickColor = $.color.parse(options.grid.color).scale('a', 0.22).toString();
+
+ // Fill in defaults for axis options, including any unspecified
+ // font-spec fields, if a font-spec was provided.
+
+ // If no x/y axis options were provided, create one of each anyway,
+ // since the rest of the code assumes that they exist.
+
+ var i, axisOptions, axisCount,
+ fontDefaults = {
+ style: placeholder.css("font-style"),
+ size: Math.round(0.8 * (+placeholder.css("font-size").replace("px", "") || 13)),
+ variant: placeholder.css("font-variant"),
+ weight: placeholder.css("font-weight"),
+ family: placeholder.css("font-family")
+ };
+
+ fontDefaults.lineHeight = fontDefaults.size * 1.15;
+
+ axisCount = options.xaxes.length || 1;
+ for (i = 0; i < axisCount; ++i) {
+
+ axisOptions = options.xaxes[i];
+ if (axisOptions && !axisOptions.tickColor) {
+ axisOptions.tickColor = axisOptions.color;
+ }
+
+ axisOptions = $.extend(true, {}, options.xaxis, axisOptions);
+ options.xaxes[i] = axisOptions;
+
+ if (axisOptions.font) {
+ axisOptions.font = $.extend({}, fontDefaults, axisOptions.font);
+ if (!axisOptions.font.color) {
+ axisOptions.font.color = axisOptions.color;
+ }
+ }
+ }
+
+ axisCount = options.yaxes.length || 1;
+ for (i = 0; i < axisCount; ++i) {
+
+ axisOptions = options.yaxes[i];
+ if (axisOptions && !axisOptions.tickColor) {
+ axisOptions.tickColor = axisOptions.color;
+ }
+
+ axisOptions = $.extend(true, {}, options.yaxis, axisOptions);
+ options.yaxes[i] = axisOptions;
+
+ if (axisOptions.font) {
+ axisOptions.font = $.extend({}, fontDefaults, axisOptions.font);
+ if (!axisOptions.font.color) {
+ axisOptions.font.color = axisOptions.color;
+ }
+ }
+ }
+
+ // backwards compatibility, to be removed in future
+ if (options.xaxis.noTicks && options.xaxis.ticks == null)
+ options.xaxis.ticks = options.xaxis.noTicks;
+ if (options.yaxis.noTicks && options.yaxis.ticks == null)
+ options.yaxis.ticks = options.yaxis.noTicks;
+ if (options.x2axis) {
+ options.xaxes[1] = $.extend(true, {}, options.xaxis, options.x2axis);
+ options.xaxes[1].position = "top";
+ }
+ if (options.y2axis) {
+ options.yaxes[1] = $.extend(true, {}, options.yaxis, options.y2axis);
+ options.yaxes[1].position = "right";
+ }
+ if (options.grid.coloredAreas)
+ options.grid.markings = options.grid.coloredAreas;
+ if (options.grid.coloredAreasColor)
+ options.grid.markingsColor = options.grid.coloredAreasColor;
+ if (options.lines)
+ $.extend(true, options.series.lines, options.lines);
+ if (options.points)
+ $.extend(true, options.series.points, options.points);
+ if (options.bars)
+ $.extend(true, options.series.bars, options.bars);
+ if (options.shadowSize != null)
+ options.series.shadowSize = options.shadowSize;
+ if (options.highlightColor != null)
+ options.series.highlightColor = options.highlightColor;
+
+ // save options on axes for future reference
+ for (i = 0; i < options.xaxes.length; ++i)
+ getOrCreateAxis(xaxes, i + 1).options = options.xaxes[i];
+ for (i = 0; i < options.yaxes.length; ++i)
+ getOrCreateAxis(yaxes, i + 1).options = options.yaxes[i];
+
+ // add hooks from options
+ for (var n in hooks)
+ if (options.hooks[n] && options.hooks[n].length)
+ hooks[n] = hooks[n].concat(options.hooks[n]);
+
+ executeHooks(hooks.processOptions, [options]);
+ }
+
+ function setData(d) {
+ series = parseData(d);
+ fillInSeriesOptions();
+ processData();
+ }
+
+ function parseData(d) {
+ var res = [];
+ for (var i = 0; i < d.length; ++i) {
+ var s = $.extend(true, {}, options.series);
+
+ if (d[i].data != null) {
+ s.data = d[i].data; // move the data instead of deep-copy
+ delete d[i].data;
+
+ $.extend(true, s, d[i]);
+
+ d[i].data = s.data;
+ }
+ else
+ s.data = d[i];
+ res.push(s);
+ }
+
+ return res;
+ }
+
+ function axisNumber(obj, coord) {
+ var a = obj[coord + "axis"];
+ if (typeof a == "object") // if we got a real axis, extract number
+ a = a.n;
+ if (typeof a != "number")
+ a = 1; // default to first axis
+ return a;
+ }
+
+ function allAxes() {
+ // return flat array without annoying null entries
+ return $.grep(xaxes.concat(yaxes), function (a) { return a; });
+ }
+
+ function canvasToAxisCoords(pos) {
+ // return an object with x/y corresponding to all used axes
+ var res = {}, i, axis;
+ for (i = 0; i < xaxes.length; ++i) {
+ axis = xaxes[i];
+ if (axis && axis.used)
+ res["x" + axis.n] = axis.c2p(pos.left);
+ }
+
+ for (i = 0; i < yaxes.length; ++i) {
+ axis = yaxes[i];
+ if (axis && axis.used)
+ res["y" + axis.n] = axis.c2p(pos.top);
+ }
+
+ if (res.x1 !== undefined)
+ res.x = res.x1;
+ if (res.y1 !== undefined)
+ res.y = res.y1;
+
+ return res;
+ }
+
+ function axisToCanvasCoords(pos) {
+ // get canvas coords from the first pair of x/y found in pos
+ var res = {}, i, axis, key;
+
+ for (i = 0; i < xaxes.length; ++i) {
+ axis = xaxes[i];
+ if (axis && axis.used) {
+ key = "x" + axis.n;
+ if (pos[key] == null && axis.n == 1)
+ key = "x";
+
+ if (pos[key] != null) {
+ res.left = axis.p2c(pos[key]);
+ break;
+ }
+ }
+ }
+
+ for (i = 0; i < yaxes.length; ++i) {
+ axis = yaxes[i];
+ if (axis && axis.used) {
+ key = "y" + axis.n;
+ if (pos[key] == null && axis.n == 1)
+ key = "y";
+
+ if (pos[key] != null) {
+ res.top = axis.p2c(pos[key]);
+ break;
+ }
+ }
+ }
+
+ return res;
+ }
+
+ function getOrCreateAxis(axes, number) {
+ if (!axes[number - 1])
+ axes[number - 1] = {
+ n: number, // save the number for future reference
+ direction: axes == xaxes ? "x" : "y",
+ options: $.extend(true, {}, axes == xaxes ? options.xaxis : options.yaxis)
+ };
+
+ return axes[number - 1];
+ }
+
+ function fillInSeriesOptions() {
+
+ var neededColors = series.length, maxIndex = -1, i;
+
+ // Subtract the number of series that already have fixed colors or
+ // color indexes from the number that we still need to generate.
+
+ for (i = 0; i < series.length; ++i) {
+ var sc = series[i].color;
+ if (sc != null) {
+ neededColors--;
+ if (typeof sc == "number" && sc > maxIndex) {
+ maxIndex = sc;
+ }
+ }
+ }
+
+ // If any of the series have fixed color indexes, then we need to
+ // generate at least as many colors as the highest index.
+
+ if (neededColors <= maxIndex) {
+ neededColors = maxIndex + 1;
+ }
+
+ // Generate all the colors, using first the option colors and then
+ // variations on those colors once they're exhausted.
+
+ var c, colors = [], colorPool = options.colors,
+ colorPoolSize = colorPool.length, variation = 0;
+
+ for (i = 0; i < neededColors; i++) {
+
+ c = $.color.parse(colorPool[i % colorPoolSize] || "#666");
+
+ // Each time we exhaust the colors in the pool we adjust
+ // a scaling factor used to produce more variations on
+ // those colors. The factor alternates negative/positive
+ // to produce lighter/darker colors.
+
+ // Reset the variation after every few cycles, or else
+ // it will end up producing only white or black colors.
+
+ if (i % colorPoolSize == 0 && i) {
+ if (variation >= 0) {
+ if (variation < 0.5) {
+ variation = -variation - 0.2;
+ } else variation = 0;
+ } else variation = -variation;
+ }
+
+ colors[i] = c.scale('rgb', 1 + variation);
+ }
+
+ // Finalize the series options, filling in their colors
+
+ var colori = 0, s;
+ for (i = 0; i < series.length; ++i) {
+ s = series[i];
+
+ // assign colors
+ if (s.color == null) {
+ s.color = colors[colori].toString();
+ ++colori;
+ }
+ else if (typeof s.color == "number")
+ s.color = colors[s.color].toString();
+
+ // turn on lines automatically in case nothing is set
+ if (s.lines.show == null) {
+ var v, show = true;
+ for (v in s)
+ if (s[v] && s[v].show) {
+ show = false;
+ break;
+ }
+ if (show)
+ s.lines.show = true;
+ }
+
+ // If nothing was provided for lines.zero, default it to match
+ // lines.fill, since areas by default should extend to zero.
+
+ if (s.lines.zero == null) {
+ s.lines.zero = !!s.lines.fill;
+ }
+
+ // setup axes
+ s.xaxis = getOrCreateAxis(xaxes, axisNumber(s, "x"));
+ s.yaxis = getOrCreateAxis(yaxes, axisNumber(s, "y"));
+ }
+ }
+
+ function processData() {
+ var topSentry = Number.POSITIVE_INFINITY,
+ bottomSentry = Number.NEGATIVE_INFINITY,
+ fakeInfinity = Number.MAX_VALUE,
+ i, j, k, m, length,
+ s, points, ps, x, y, axis, val, f, p,
+ data, format;
+
+ function updateAxis(axis, min, max) {
+ if (min < axis.datamin && min != -fakeInfinity)
+ axis.datamin = min;
+ if (max > axis.datamax && max != fakeInfinity)
+ axis.datamax = max;
+ }
+
+ $.each(allAxes(), function (_, axis) {
+ // init axis
+ axis.datamin = topSentry;
+ axis.datamax = bottomSentry;
+ axis.used = false;
+ });
+
+ for (i = 0; i < series.length; ++i) {
+ s = series[i];
+ s.datapoints = { points: [] };
+
+ executeHooks(hooks.processRawData, [ s, s.data, s.datapoints ]);
+ }
+
+ // first pass: clean and copy data
+ for (i = 0; i < series.length; ++i) {
+ s = series[i];
+
+ data = s.data;
+ format = s.datapoints.format;
+
+ if (!format) {
+ format = [];
+ // find out how to copy
+ format.push({ x: true, number: true, required: true });
+ format.push({ y: true, number: true, required: true });
+
+ if (s.bars.show || (s.lines.show && s.lines.fill)) {
+ var autoscale = !!((s.bars.show && s.bars.zero) || (s.lines.show && s.lines.zero));
+ format.push({ y: true, number: true, required: false, defaultValue: 0, autoscale: autoscale });
+ if (s.bars.horizontal) {
+ delete format[format.length - 1].y;
+ format[format.length - 1].x = true;
+ }
+ }
+
+ s.datapoints.format = format;
+ }
+
+ if (s.datapoints.pointsize != null)
+ continue; // already filled in
+
+ s.datapoints.pointsize = format.length;
+
+ ps = s.datapoints.pointsize;
+ points = s.datapoints.points;
+
+ var insertSteps = s.lines.show && s.lines.steps;
+ s.xaxis.used = s.yaxis.used = true;
+
+ for (j = k = 0; j < data.length; ++j, k += ps) {
+ p = data[j];
+
+ var nullify = p == null;
+ if (!nullify) {
+ for (m = 0; m < ps; ++m) {
+ val = p[m];
+ f = format[m];
+
+ if (f) {
+ if (f.number && val != null) {
+ val = +val; // convert to number
+ if (isNaN(val))
+ val = null;
+ else if (val == Infinity)
+ val = fakeInfinity;
+ else if (val == -Infinity)
+ val = -fakeInfinity;
+ }
+
+ if (val == null) {
+ if (f.required)
+ nullify = true;
+
+ if (f.defaultValue != null)
+ val = f.defaultValue;
+ }
+ }
+
+ points[k + m] = val;
+ }
+ }
+
+ if (nullify) {
+ for (m = 0; m < ps; ++m) {
+ val = points[k + m];
+ if (val != null) {
+ f = format[m];
+ // extract min/max info
+ if (f.autoscale !== false) {
+ if (f.x) {
+ updateAxis(s.xaxis, val, val);
+ }
+ if (f.y) {
+ updateAxis(s.yaxis, val, val);
+ }
+ }
+ }
+ points[k + m] = null;
+ }
+ }
+ else {
+ // a little bit of line specific stuff that
+ // perhaps shouldn't be here, but lacking
+ // better means...
+ if (insertSteps && k > 0
+ && points[k - ps] != null
+ && points[k - ps] != points[k]
+ && points[k - ps + 1] != points[k + 1]) {
+ // copy the point to make room for a middle point
+ for (m = 0; m < ps; ++m)
+ points[k + ps + m] = points[k + m];
+
+ // middle point has same y
+ points[k + 1] = points[k - ps + 1];
+
+ // we've added a point, better reflect that
+ k += ps;
+ }
+ }
+ }
+ }
+
+ // give the hooks a chance to run
+ for (i = 0; i < series.length; ++i) {
+ s = series[i];
+
+ executeHooks(hooks.processDatapoints, [ s, s.datapoints]);
+ }
+
+ // second pass: find datamax/datamin for auto-scaling
+ for (i = 0; i < series.length; ++i) {
+ s = series[i];
+ points = s.datapoints.points;
+ ps = s.datapoints.pointsize;
+ format = s.datapoints.format;
+
+ var xmin = topSentry, ymin = topSentry,
+ xmax = bottomSentry, ymax = bottomSentry;
+
+ for (j = 0; j < points.length; j += ps) {
+ if (points[j] == null)
+ continue;
+
+ for (m = 0; m < ps; ++m) {
+ val = points[j + m];
+ f = format[m];
+ if (!f || f.autoscale === false || val == fakeInfinity || val == -fakeInfinity)
+ continue;
+
+ if (f.x) {
+ if (val < xmin)
+ xmin = val;
+ if (val > xmax)
+ xmax = val;
+ }
+ if (f.y) {
+ if (val < ymin)
+ ymin = val;
+ if (val > ymax)
+ ymax = val;
+ }
+ }
+ }
+
+ if (s.bars.show) {
+ // make sure we got room for the bar on the dancing floor
+ var delta;
+
+ switch (s.bars.align) {
+ case "left":
+ delta = 0;
+ break;
+ case "right":
+ delta = -s.bars.barWidth;
+ break;
+ default:
+ delta = -s.bars.barWidth / 2;
+ }
+
+ if (s.bars.horizontal) {
+ ymin += delta;
+ ymax += delta + s.bars.barWidth;
+ }
+ else {
+ xmin += delta;
+ xmax += delta + s.bars.barWidth;
+ }
+ }
+
+ updateAxis(s.xaxis, xmin, xmax);
+ updateAxis(s.yaxis, ymin, ymax);
+ }
+
+ $.each(allAxes(), function (_, axis) {
+ if (axis.datamin == topSentry)
+ axis.datamin = null;
+ if (axis.datamax == bottomSentry)
+ axis.datamax = null;
+ });
+ }
+
+ function setupCanvases() {
+
+ // Make sure the placeholder is clear of everything except canvases
+ // from a previous plot in this container that we'll try to re-use.
+
+ placeholder.css("padding", 0) // padding messes up the positioning
+ .children(":not(.flot-base,.flot-overlay)").remove();
+
+ if (placeholder.css("position") == 'static')
+ placeholder.css("position", "relative"); // for positioning labels and overlay
+
+ surface = new Canvas("flot-base", placeholder);
+ overlay = new Canvas("flot-overlay", placeholder); // overlay canvas for interactive features
+
+ ctx = surface.context;
+ octx = overlay.context;
+
+ // define which element we're listening for events on
+ eventHolder = $(overlay.element).unbind();
+
+ // If we're re-using a plot object, shut down the old one
+
+ var existing = placeholder.data("plot");
+
+ if (existing) {
+ existing.shutdown();
+ overlay.clear();
+ }
+
+ // save in case we get replotted
+ placeholder.data("plot", plot);
+ }
+
+ function bindEvents() {
+ // bind events
+ if (options.grid.hoverable) {
+ eventHolder.mousemove(onMouseMove);
+
+ // Use bind, rather than .mouseleave, because we officially
+ // still support jQuery 1.2.6, which doesn't define a shortcut
+ // for mouseenter or mouseleave. This was a bug/oversight that
+ // was fixed somewhere around 1.3.x. We can return to using
+ // .mouseleave when we drop support for 1.2.6.
+
+ eventHolder.bind("mouseleave", onMouseLeave);
+ }
+
+ if (options.grid.clickable)
+ eventHolder.click(onClick);
+
+ executeHooks(hooks.bindEvents, [eventHolder]);
+ }
+
+ function shutdown() {
+ if (redrawTimeout)
+ clearTimeout(redrawTimeout);
+
+ eventHolder.unbind("mousemove", onMouseMove);
+ eventHolder.unbind("mouseleave", onMouseLeave);
+ eventHolder.unbind("click", onClick);
+
+ executeHooks(hooks.shutdown, [eventHolder]);
+ }
+
+ function setTransformationHelpers(axis) {
+ // set helper functions on the axis, assumes plot area
+ // has been computed already
+
+ function identity(x) { return x; }
+
+ var s, m, t = axis.options.transform || identity,
+ it = axis.options.inverseTransform;
+
+ // precompute how much the axis is scaling a point
+ // in canvas space
+ if (axis.direction == "x") {
+ s = axis.scale = plotWidth / Math.abs(t(axis.max) - t(axis.min));
+ m = Math.min(t(axis.max), t(axis.min));
+ }
+ else {
+ s = axis.scale = plotHeight / Math.abs(t(axis.max) - t(axis.min));
+ s = -s;
+ m = Math.max(t(axis.max), t(axis.min));
+ }
+
+ // data point to canvas coordinate
+ if (t == identity) // slight optimization
+ axis.p2c = function (p) { return (p - m) * s; };
+ else
+ axis.p2c = function (p) { return (t(p) - m) * s; };
+ // canvas coordinate to data point
+ if (!it)
+ axis.c2p = function (c) { return m + c / s; };
+ else
+ axis.c2p = function (c) { return it(m + c / s); };
+ }
+
+ function measureTickLabels(axis) {
+
+ var opts = axis.options,
+ ticks = axis.ticks || [],
+ labelWidth = opts.labelWidth || 0,
+ labelHeight = opts.labelHeight || 0,
+ maxWidth = labelWidth || axis.direction == "x" ? Math.floor(surface.width / (ticks.length || 1)) : null,
+ legacyStyles = axis.direction + "Axis " + axis.direction + axis.n + "Axis",
+ layer = "flot-" + axis.direction + "-axis flot-" + axis.direction + axis.n + "-axis " + legacyStyles,
+ font = opts.font || "flot-tick-label tickLabel";
+
+ for (var i = 0; i < ticks.length; ++i) {
+
+ var t = ticks[i];
+
+ if (!t.label)
+ continue;
+
+ var info = surface.getTextInfo(layer, t.label, font, null, maxWidth);
+
+ labelWidth = Math.max(labelWidth, info.width);
+ labelHeight = Math.max(labelHeight, info.height);
+ }
+
+ axis.labelWidth = opts.labelWidth || labelWidth;
+ axis.labelHeight = opts.labelHeight || labelHeight;
+ }
+
+ function allocateAxisBoxFirstPhase(axis) {
+ // find the bounding box of the axis by looking at label
+ // widths/heights and ticks, make room by diminishing the
+ // plotOffset; this first phase only looks at one
+ // dimension per axis, the other dimension depends on the
+ // other axes so will have to wait
+
+ var lw = axis.labelWidth,
+ lh = axis.labelHeight,
+ pos = axis.options.position,
+ tickLength = axis.options.tickLength,
+ axisMargin = options.grid.axisMargin,
+ padding = options.grid.labelMargin,
+ all = axis.direction == "x" ? xaxes : yaxes,
+ index, innermost;
+
+ // determine axis margin
+ var samePosition = $.grep(all, function (a) {
+ return a && a.options.position == pos && a.reserveSpace;
+ });
+ if ($.inArray(axis, samePosition) == samePosition.length - 1)
+ axisMargin = 0; // outermost
+
+ // Determine whether the axis is the first (innermost) on its side
+
+ innermost = $.inArray(axis, samePosition) == 0;
+
+ // determine tick length - if we're innermost, we can use "full"
+
+ if (tickLength == null) {
+ if (innermost)
+ tickLength = "full";
+ else
+ tickLength = 5;
+ }
+
+ if (!isNaN(+tickLength))
+ padding += +tickLength;
+
+ // compute box
+ if (axis.direction == "x") {
+ lh += padding;
+
+ if (pos == "bottom") {
+ plotOffset.bottom += lh + axisMargin;
+ axis.box = { top: surface.height - plotOffset.bottom, height: lh };
+ }
+ else {
+ axis.box = { top: plotOffset.top + axisMargin, height: lh };
+ plotOffset.top += lh + axisMargin;
+ }
+ }
+ else {
+ lw += padding;
+
+ if (pos == "left") {
+ axis.box = { left: plotOffset.left + axisMargin, width: lw };
+ plotOffset.left += lw + axisMargin;
+ }
+ else {
+ plotOffset.right += lw + axisMargin;
+ axis.box = { left: surface.width - plotOffset.right, width: lw };
+ }
+ }
+
+ // save for future reference
+ axis.position = pos;
+ axis.tickLength = tickLength;
+ axis.box.padding = padding;
+ axis.innermost = innermost;
+ }
+
+ function allocateAxisBoxSecondPhase(axis) {
+ // now that all axis boxes have been placed in one
+ // dimension, we can set the remaining dimension coordinates
+ if (axis.direction == "x") {
+ axis.box.left = plotOffset.left - axis.labelWidth / 2;
+ axis.box.width = surface.width - plotOffset.left - plotOffset.right + axis.labelWidth;
+ }
+ else {
+ axis.box.top = plotOffset.top - axis.labelHeight / 2;
+ axis.box.height = surface.height - plotOffset.bottom - plotOffset.top + axis.labelHeight;
+ }
+ }
+
+ function adjustLayoutForThingsStickingOut() {
+ // possibly adjust plot offset to ensure everything stays
+ // inside the canvas and isn't clipped off
+
+ var minMargin = options.grid.minBorderMargin,
+ margins = { x: 0, y: 0 }, i, axis;
+
+ // check stuff from the plot (FIXME: this should just read
+ // a value from the series, otherwise it's impossible to
+ // customize)
+ if (minMargin == null) {
+ minMargin = 0;
+ for (i = 0; i < series.length; ++i)
+ minMargin = Math.max(minMargin, 2 * (series[i].points.radius + series[i].points.lineWidth/2));
+ }
+
+ margins.x = margins.y = Math.ceil(minMargin);
+
+ // check axis labels, note we don't check the actual
+ // labels but instead use the overall width/height to not
+ // jump as much around with replots
+ $.each(allAxes(), function (_, axis) {
+ var dir = axis.direction;
+ if (axis.reserveSpace)
+ margins[dir] = Math.ceil(Math.max(margins[dir], (dir == "x" ? axis.labelWidth : axis.labelHeight) / 2));
+ });
+
+ plotOffset.left = Math.max(margins.x, plotOffset.left);
+ plotOffset.right = Math.max(margins.x, plotOffset.right);
+ plotOffset.top = Math.max(margins.y, plotOffset.top);
+ plotOffset.bottom = Math.max(margins.y, plotOffset.bottom);
+ }
+
+ function setupGrid() {
+ var i, axes = allAxes(), showGrid = options.grid.show;
+
+ // Initialize the plot's offset from the edge of the canvas
+
+ for (var a in plotOffset) {
+ var margin = options.grid.margin || 0;
+ plotOffset[a] = typeof margin == "number" ? margin : margin[a] || 0;
+ }
+
+ executeHooks(hooks.processOffset, [plotOffset]);
+
+ // If the grid is visible, add its border width to the offset
+
+ for (var a in plotOffset) {
+ if(typeof(options.grid.borderWidth) == "object") {
+ plotOffset[a] += showGrid ? options.grid.borderWidth[a] : 0;
+ }
+ else {
+ plotOffset[a] += showGrid ? options.grid.borderWidth : 0;
+ }
+ }
+
+ // init axes
+ $.each(axes, function (_, axis) {
+ axis.show = axis.options.show;
+ if (axis.show == null)
+ axis.show = axis.used; // by default an axis is visible if it's got data
+
+ axis.reserveSpace = axis.show || axis.options.reserveSpace;
+
+ setRange(axis);
+ });
+
+ if (showGrid) {
+
+ var allocatedAxes = $.grep(axes, function (axis) { return axis.reserveSpace; });
+
+ $.each(allocatedAxes, function (_, axis) {
+ // make the ticks
+ setupTickGeneration(axis);
+ setTicks(axis);
+ snapRangeToTicks(axis, axis.ticks);
+ // find labelWidth/Height for axis
+ measureTickLabels(axis);
+ });
+
+ // with all dimensions calculated, we can compute the
+ // axis bounding boxes, start from the outside
+ // (reverse order)
+ for (i = allocatedAxes.length - 1; i >= 0; --i)
+ allocateAxisBoxFirstPhase(allocatedAxes[i]);
+
+ // make sure we've got enough space for things that
+ // might stick out
+ adjustLayoutForThingsStickingOut();
+
+ $.each(allocatedAxes, function (_, axis) {
+ allocateAxisBoxSecondPhase(axis);
+ });
+ }
+
+ plotWidth = surface.width - plotOffset.left - plotOffset.right;
+ plotHeight = surface.height - plotOffset.bottom - plotOffset.top;
+
+ // now we got the proper plot dimensions, we can compute the scaling
+ $.each(axes, function (_, axis) {
+ setTransformationHelpers(axis);
+ });
+
+ if (showGrid) {
+ drawAxisLabels();
+ }
+
+ insertLegend();
+ }
+
+ function setRange(axis) {
+ var opts = axis.options,
+ min = +(opts.min != null ? opts.min : axis.datamin),
+ max = +(opts.max != null ? opts.max : axis.datamax),
+ delta = max - min;
+
+ if (delta == 0.0) {
+ // degenerate case
+ var widen = max == 0 ? 1 : 0.01;
+
+ if (opts.min == null)
+ min -= widen;
+ // always widen max if we couldn't widen min to ensure we
+ // don't fall into min == max which doesn't work
+ if (opts.max == null || opts.min != null)
+ max += widen;
+ }
+ else {
+ // consider autoscaling
+ var margin = opts.autoscaleMargin;
+ if (margin != null) {
+ if (opts.min == null) {
+ min -= delta * margin;
+ // make sure we don't go below zero if all values
+ // are positive
+ if (min < 0 && axis.datamin != null && axis.datamin >= 0)
+ min = 0;
+ }
+ if (opts.max == null) {
+ max += delta * margin;
+ if (max > 0 && axis.datamax != null && axis.datamax <= 0)
+ max = 0;
+ }
+ }
+ }
+ axis.min = min;
+ axis.max = max;
+ }
+
+ function setupTickGeneration(axis) {
+ var opts = axis.options;
+
+ // estimate number of ticks
+ var noTicks;
+ if (typeof opts.ticks == "number" && opts.ticks > 0)
+ noTicks = opts.ticks;
+ else
+ // heuristic based on the model a*sqrt(x) fitted to
+ // some data points that seemed reasonable
+ noTicks = 0.3 * Math.sqrt(axis.direction == "x" ? surface.width : surface.height);
+
+ var delta = (axis.max - axis.min) / noTicks,
+ dec = -Math.floor(Math.log(delta) / Math.LN10),
+ maxDec = opts.tickDecimals;
+
+ if (maxDec != null && dec > maxDec) {
+ dec = maxDec;
+ }
+
+ var magn = Math.pow(10, -dec),
+ norm = delta / magn, // norm is between 1.0 and 10.0
+ size;
+
+ if (norm < 1.5) {
+ size = 1;
+ } else if (norm < 3) {
+ size = 2;
+ // special case for 2.5, requires an extra decimal
+ if (norm > 2.25 && (maxDec == null || dec + 1 <= maxDec)) {
+ size = 2.5;
+ ++dec;
+ }
+ } else if (norm < 7.5) {
+ size = 5;
+ } else {
+ size = 10;
+ }
+
+ size *= magn;
+
+ if (opts.minTickSize != null && size < opts.minTickSize) {
+ size = opts.minTickSize;
+ }
+
+ axis.delta = delta;
+ axis.tickDecimals = Math.max(0, maxDec != null ? maxDec : dec);
+ axis.tickSize = opts.tickSize || size;
+
+ // Time mode was moved to a plug-in in 0.8, but since so many people use this
+ // we'll add an especially friendly make sure they remembered to include it.
+
+ if (opts.mode == "time" && !axis.tickGenerator) {
+ throw new Error("Time mode requires the flot.time plugin.");
+ }
+
+ // Flot supports base-10 axes; any other mode else is handled by a plug-in,
+ // like flot.time.js.
+
+ if (!axis.tickGenerator) {
+
+ axis.tickGenerator = function (axis) {
+
+ var ticks = [],
+ start = floorInBase(axis.min, axis.tickSize),
+ i = 0,
+ v = Number.NaN,
+ prev;
+
+ do {
+ prev = v;
+ v = start + i * axis.tickSize;
+ ticks.push(v);
+ ++i;
+ } while (v < axis.max && v != prev);
+ return ticks;
+ };
+
+ axis.tickFormatter = function (value, axis) {
+
+ var factor = axis.tickDecimals ? Math.pow(10, axis.tickDecimals) : 1;
+ var formatted = "" + Math.round(value * factor) / factor;
+
+ // If tickDecimals was specified, ensure that we have exactly that
+ // much precision; otherwise default to the value's own precision.
+
+ if (axis.tickDecimals != null) {
+ var decimal = formatted.indexOf(".");
+ var precision = decimal == -1 ? 0 : formatted.length - decimal - 1;
+ if (precision < axis.tickDecimals) {
+ return (precision ? formatted : formatted + ".") + ("" + factor).substr(1, axis.tickDecimals - precision);
+ }
+ }
+
+ return formatted;
+ };
+ }
+
+ if ($.isFunction(opts.tickFormatter))
+ axis.tickFormatter = function (v, axis) { return "" + opts.tickFormatter(v, axis); };
+
+ if (opts.alignTicksWithAxis != null) {
+ var otherAxis = (axis.direction == "x" ? xaxes : yaxes)[opts.alignTicksWithAxis - 1];
+ if (otherAxis && otherAxis.used && otherAxis != axis) {
+ // consider snapping min/max to outermost nice ticks
+ var niceTicks = axis.tickGenerator(axis);
+ if (niceTicks.length > 0) {
+ if (opts.min == null)
+ axis.min = Math.min(axis.min, niceTicks[0]);
+ if (opts.max == null && niceTicks.length > 1)
+ axis.max = Math.max(axis.max, niceTicks[niceTicks.length - 1]);
+ }
+
+ axis.tickGenerator = function (axis) {
+ // copy ticks, scaled to this axis
+ var ticks = [], v, i;
+ for (i = 0; i < otherAxis.ticks.length; ++i) {
+ v = (otherAxis.ticks[i].v - otherAxis.min) / (otherAxis.max - otherAxis.min);
+ v = axis.min + v * (axis.max - axis.min);
+ ticks.push(v);
+ }
+ return ticks;
+ };
+
+ // we might need an extra decimal since forced
+ // ticks don't necessarily fit naturally
+ if (!axis.mode && opts.tickDecimals == null) {
+ var extraDec = Math.max(0, -Math.floor(Math.log(axis.delta) / Math.LN10) + 1),
+ ts = axis.tickGenerator(axis);
+
+ // only proceed if the tick interval rounded
+ // with an extra decimal doesn't give us a
+ // zero at end
+ if (!(ts.length > 1 && /\..*0$/.test((ts[1] - ts[0]).toFixed(extraDec))))
+ axis.tickDecimals = extraDec;
+ }
+ }
+ }
+ }
+
+ function setTicks(axis) {
+ var oticks = axis.options.ticks, ticks = [];
+ if (oticks == null || (typeof oticks == "number" && oticks > 0))
+ ticks = axis.tickGenerator(axis);
+ else if (oticks) {
+ if ($.isFunction(oticks))
+ // generate the ticks
+ ticks = oticks(axis);
+ else
+ ticks = oticks;
+ }
+
+ // clean up/labelify the supplied ticks, copy them over
+ var i, v;
+ axis.ticks = [];
+ for (i = 0; i < ticks.length; ++i) {
+ var label = null;
+ var t = ticks[i];
+ if (typeof t == "object") {
+ v = +t[0];
+ if (t.length > 1)
+ label = t[1];
+ }
+ else
+ v = +t;
+ if (label == null)
+ label = axis.tickFormatter(v, axis);
+ if (!isNaN(v))
+ axis.ticks.push({ v: v, label: label });
+ }
+ }
+
+ function snapRangeToTicks(axis, ticks) {
+ if (axis.options.autoscaleMargin && ticks.length > 0) {
+ // snap to ticks
+ if (axis.options.min == null)
+ axis.min = Math.min(axis.min, ticks[0].v);
+ if (axis.options.max == null && ticks.length > 1)
+ axis.max = Math.max(axis.max, ticks[ticks.length - 1].v);
+ }
+ }
+
+ function draw() {
+
+ surface.clear();
+
+ executeHooks(hooks.drawBackground, [ctx]);
+
+ var grid = options.grid;
+
+ // draw background, if any
+ if (grid.show && grid.backgroundColor)
+ drawBackground();
+
+ if (grid.show && !grid.aboveData) {
+ drawGrid();
+ }
+
+ for (var i = 0; i < series.length; ++i) {
+ executeHooks(hooks.drawSeries, [ctx, series[i]]);
+ drawSeries(series[i]);
+ }
+
+ executeHooks(hooks.draw, [ctx]);
+
+ if (grid.show && grid.aboveData) {
+ drawGrid();
+ }
+
+ surface.render();
+
+ // A draw implies that either the axes or data have changed, so we
+ // should probably update the overlay highlights as well.
+
+ triggerRedrawOverlay();
+ }
+
+ function extractRange(ranges, coord) {
+ var axis, from, to, key, axes = allAxes();
+
+ for (var i = 0; i < axes.length; ++i) {
+ axis = axes[i];
+ if (axis.direction == coord) {
+ key = coord + axis.n + "axis";
+ if (!ranges[key] && axis.n == 1)
+ key = coord + "axis"; // support x1axis as xaxis
+ if (ranges[key]) {
+ from = ranges[key].from;
+ to = ranges[key].to;
+ break;
+ }
+ }
+ }
+
+ // backwards-compat stuff - to be removed in future
+ if (!ranges[key]) {
+ axis = coord == "x" ? xaxes[0] : yaxes[0];
+ from = ranges[coord + "1"];
+ to = ranges[coord + "2"];
+ }
+
+ // auto-reverse as an added bonus
+ if (from != null && to != null && from > to) {
+ var tmp = from;
+ from = to;
+ to = tmp;
+ }
+
+ return { from: from, to: to, axis: axis };
+ }
+
+ function drawBackground() {
+ ctx.save();
+ ctx.translate(plotOffset.left, plotOffset.top);
+
+ ctx.fillStyle = getColorOrGradient(options.grid.backgroundColor, plotHeight, 0, "rgba(255, 255, 255, 0)");
+ ctx.fillRect(0, 0, plotWidth, plotHeight);
+ ctx.restore();
+ }
+
+ function drawGrid() {
+ var i, axes, bw, bc;
+
+ ctx.save();
+ ctx.translate(plotOffset.left, plotOffset.top);
+
+ // draw markings
+ var markings = options.grid.markings;
+ if (markings) {
+ if ($.isFunction(markings)) {
+ axes = plot.getAxes();
+ // xmin etc. is backwards compatibility, to be
+ // removed in the future
+ axes.xmin = axes.xaxis.min;
+ axes.xmax = axes.xaxis.max;
+ axes.ymin = axes.yaxis.min;
+ axes.ymax = axes.yaxis.max;
+
+ markings = markings(axes);
+ }
+
+ for (i = 0; i < markings.length; ++i) {
+ var m = markings[i],
+ xrange = extractRange(m, "x"),
+ yrange = extractRange(m, "y");
+
+ // fill in missing
+ if (xrange.from == null)
+ xrange.from = xrange.axis.min;
+ if (xrange.to == null)
+ xrange.to = xrange.axis.max;
+ if (yrange.from == null)
+ yrange.from = yrange.axis.min;
+ if (yrange.to == null)
+ yrange.to = yrange.axis.max;
+
+ // clip
+ if (xrange.to < xrange.axis.min || xrange.from > xrange.axis.max ||
+ yrange.to < yrange.axis.min || yrange.from > yrange.axis.max)
+ continue;
+
+ xrange.from = Math.max(xrange.from, xrange.axis.min);
+ xrange.to = Math.min(xrange.to, xrange.axis.max);
+ yrange.from = Math.max(yrange.from, yrange.axis.min);
+ yrange.to = Math.min(yrange.to, yrange.axis.max);
+
+ if (xrange.from == xrange.to && yrange.from == yrange.to)
+ continue;
+
+ // then draw
+ xrange.from = xrange.axis.p2c(xrange.from);
+ xrange.to = xrange.axis.p2c(xrange.to);
+ yrange.from = yrange.axis.p2c(yrange.from);
+ yrange.to = yrange.axis.p2c(yrange.to);
+
+ if (xrange.from == xrange.to || yrange.from == yrange.to) {
+ // draw line
+ ctx.beginPath();
+ ctx.strokeStyle = m.color || options.grid.markingsColor;
+ ctx.lineWidth = m.lineWidth || options.grid.markingsLineWidth;
+ ctx.moveTo(xrange.from, yrange.from);
+ ctx.lineTo(xrange.to, yrange.to);
+ ctx.stroke();
+ }
+ else {
+ // fill area
+ ctx.fillStyle = m.color || options.grid.markingsColor;
+ ctx.fillRect(xrange.from, yrange.to,
+ xrange.to - xrange.from,
+ yrange.from - yrange.to);
+ }
+ }
+ }
+
+ // draw the ticks
+ axes = allAxes();
+ bw = options.grid.borderWidth;
+
+ for (var j = 0; j < axes.length; ++j) {
+ var axis = axes[j], box = axis.box,
+ t = axis.tickLength, x, y, xoff, yoff;
+ if (!axis.show || axis.ticks.length == 0)
+ continue;
+
+ ctx.lineWidth = 1;
+
+ // find the edges
+ if (axis.direction == "x") {
+ x = 0;
+ if (t == "full")
+ y = (axis.position == "top" ? 0 : plotHeight);
+ else
+ y = box.top - plotOffset.top + (axis.position == "top" ? box.height : 0);
+ }
+ else {
+ y = 0;
+ if (t == "full")
+ x = (axis.position == "left" ? 0 : plotWidth);
+ else
+ x = box.left - plotOffset.left + (axis.position == "left" ? box.width : 0);
+ }
+
+ // draw tick bar
+ if (!axis.innermost) {
+ ctx.strokeStyle = axis.options.color;
+ ctx.beginPath();
+ xoff = yoff = 0;
+ if (axis.direction == "x")
+ xoff = plotWidth + 1;
+ else
+ yoff = plotHeight + 1;
+
+ if (ctx.lineWidth == 1) {
+ if (axis.direction == "x") {
+ y = Math.floor(y) + 0.5;
+ } else {
+ x = Math.floor(x) + 0.5;
+ }
+ }
+
+ ctx.moveTo(x, y);
+ ctx.lineTo(x + xoff, y + yoff);
+ ctx.stroke();
+ }
+
+ // draw ticks
+
+ ctx.strokeStyle = axis.options.tickColor;
+
+ ctx.beginPath();
+ for (i = 0; i < axis.ticks.length; ++i) {
+ var v = axis.ticks[i].v;
+
+ xoff = yoff = 0;
+
+ if (isNaN(v) || v < axis.min || v > axis.max
+ // skip those lying on the axes if we got a border
+ || (t == "full"
+ && ((typeof bw == "object" && bw[axis.position] > 0) || bw > 0)
+ && (v == axis.min || v == axis.max)))
+ continue;
+
+ if (axis.direction == "x") {
+ x = axis.p2c(v);
+ yoff = t == "full" ? -plotHeight : t;
+
+ if (axis.position == "top")
+ yoff = -yoff;
+ }
+ else {
+ y = axis.p2c(v);
+ xoff = t == "full" ? -plotWidth : t;
+
+ if (axis.position == "left")
+ xoff = -xoff;
+ }
+
+ if (ctx.lineWidth == 1) {
+ if (axis.direction == "x")
+ x = Math.floor(x) + 0.5;
+ else
+ y = Math.floor(y) + 0.5;
+ }
+
+ ctx.moveTo(x, y);
+ ctx.lineTo(x + xoff, y + yoff);
+ }
+
+ ctx.stroke();
+ }
+
+
+ // draw border
+ if (bw) {
+ // If either borderWidth or borderColor is an object, then draw the border
+ // line by line instead of as one rectangle
+ bc = options.grid.borderColor;
+ if(typeof bw == "object" || typeof bc == "object") {
+ if (typeof bw !== "object") {
+ bw = {top: bw, right: bw, bottom: bw, left: bw};
+ }
+ if (typeof bc !== "object") {
+ bc = {top: bc, right: bc, bottom: bc, left: bc};
+ }
+
+ if (bw.top > 0) {
+ ctx.strokeStyle = bc.top;
+ ctx.lineWidth = bw.top;
+ ctx.beginPath();
+ ctx.moveTo(0 - bw.left, 0 - bw.top/2);
+ ctx.lineTo(plotWidth, 0 - bw.top/2);
+ ctx.stroke();
+ }
+
+ if (bw.right > 0) {
+ ctx.strokeStyle = bc.right;
+ ctx.lineWidth = bw.right;
+ ctx.beginPath();
+ ctx.moveTo(plotWidth + bw.right / 2, 0 - bw.top);
+ ctx.lineTo(plotWidth + bw.right / 2, plotHeight);
+ ctx.stroke();
+ }
+
+ if (bw.bottom > 0) {
+ ctx.strokeStyle = bc.bottom;
+ ctx.lineWidth = bw.bottom;
+ ctx.beginPath();
+ ctx.moveTo(plotWidth + bw.right, plotHeight + bw.bottom / 2);
+ ctx.lineTo(0, plotHeight + bw.bottom / 2);
+ ctx.stroke();
+ }
+
+ if (bw.left > 0) {
+ ctx.strokeStyle = bc.left;
+ ctx.lineWidth = bw.left;
+ ctx.beginPath();
+ ctx.moveTo(0 - bw.left/2, plotHeight + bw.bottom);
+ ctx.lineTo(0- bw.left/2, 0);
+ ctx.stroke();
+ }
+ }
+ else {
+ ctx.lineWidth = bw;
+ ctx.strokeStyle = options.grid.borderColor;
+ ctx.strokeRect(-bw/2, -bw/2, plotWidth + bw, plotHeight + bw);
+ }
+ }
+
+ ctx.restore();
+ }
+
+ function drawAxisLabels() {
+
+ $.each(allAxes(), function (_, axis) {
+ var box = axis.box,
+ legacyStyles = axis.direction + "Axis " + axis.direction + axis.n + "Axis",
+ layer = "flot-" + axis.direction + "-axis flot-" + axis.direction + axis.n + "-axis " + legacyStyles,
+ font = axis.options.font || "flot-tick-label tickLabel",
+ tick, x, y, halign, valign;
+
+ // Remove text before checking for axis.show and ticks.length;
+ // otherwise plugins, like flot-tickrotor, that draw their own
+ // tick labels will end up with both theirs and the defaults.
+
+ surface.removeText(layer);
+
+ if (!axis.show || axis.ticks.length == 0)
+ return;
+
+ for (var i = 0; i < axis.ticks.length; ++i) {
+
+ tick = axis.ticks[i];
+ if (!tick.label || tick.v < axis.min || tick.v > axis.max)
+ continue;
+
+ if (axis.direction == "x") {
+ halign = "center";
+ x = plotOffset.left + axis.p2c(tick.v);
+ if (axis.position == "bottom") {
+ y = box.top + box.padding;
+ } else {
+ y = box.top + box.height - box.padding;
+ valign = "bottom";
+ }
+ } else {
+ valign = "middle";
+ y = plotOffset.top + axis.p2c(tick.v);
+ if (axis.position == "left") {
+ x = box.left + box.width - box.padding;
+ halign = "right";
+ } else {
+ x = box.left + box.padding;
+ }
+ }
+
+ surface.addText(layer, x, y, tick.label, font, null, null, halign, valign);
+ }
+ });
+ }
+
+ function drawSeries(series) {
+ if (series.lines.show)
+ drawSeriesLines(series);
+ if (series.bars.show)
+ drawSeriesBars(series);
+ if (series.points.show)
+ drawSeriesPoints(series);
+ }
+
+ function drawSeriesLines(series) {
+ function plotLine(datapoints, xoffset, yoffset, axisx, axisy) {
+ var points = datapoints.points,
+ ps = datapoints.pointsize,
+ prevx = null, prevy = null;
+
+ ctx.beginPath();
+ for (var i = ps; i < points.length; i += ps) {
+ var x1 = points[i - ps], y1 = points[i - ps + 1],
+ x2 = points[i], y2 = points[i + 1];
+
+ if (x1 == null || x2 == null)
+ continue;
+
+ // clip with ymin
+ if (y1 <= y2 && y1 < axisy.min) {
+ if (y2 < axisy.min)
+ continue; // line segment is outside
+ // compute new intersection point
+ x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y1 = axisy.min;
+ }
+ else if (y2 <= y1 && y2 < axisy.min) {
+ if (y1 < axisy.min)
+ continue;
+ x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y2 = axisy.min;
+ }
+
+ // clip with ymax
+ if (y1 >= y2 && y1 > axisy.max) {
+ if (y2 > axisy.max)
+ continue;
+ x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y1 = axisy.max;
+ }
+ else if (y2 >= y1 && y2 > axisy.max) {
+ if (y1 > axisy.max)
+ continue;
+ x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y2 = axisy.max;
+ }
+
+ // clip with xmin
+ if (x1 <= x2 && x1 < axisx.min) {
+ if (x2 < axisx.min)
+ continue;
+ y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x1 = axisx.min;
+ }
+ else if (x2 <= x1 && x2 < axisx.min) {
+ if (x1 < axisx.min)
+ continue;
+ y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x2 = axisx.min;
+ }
+
+ // clip with xmax
+ if (x1 >= x2 && x1 > axisx.max) {
+ if (x2 > axisx.max)
+ continue;
+ y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x1 = axisx.max;
+ }
+ else if (x2 >= x1 && x2 > axisx.max) {
+ if (x1 > axisx.max)
+ continue;
+ y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x2 = axisx.max;
+ }
+
+ if (x1 != prevx || y1 != prevy)
+ ctx.moveTo(axisx.p2c(x1) + xoffset, axisy.p2c(y1) + yoffset);
+
+ prevx = x2;
+ prevy = y2;
+ ctx.lineTo(axisx.p2c(x2) + xoffset, axisy.p2c(y2) + yoffset);
+ }
+ ctx.stroke();
+ }
+
+ function plotLineArea(datapoints, axisx, axisy) {
+ var points = datapoints.points,
+ ps = datapoints.pointsize,
+ bottom = Math.min(Math.max(0, axisy.min), axisy.max),
+ i = 0, top, areaOpen = false,
+ ypos = 1, segmentStart = 0, segmentEnd = 0;
+
+ // we process each segment in two turns, first forward
+ // direction to sketch out top, then once we hit the
+ // end we go backwards to sketch the bottom
+ while (true) {
+ if (ps > 0 && i > points.length + ps)
+ break;
+
+ i += ps; // ps is negative if going backwards
+
+ var x1 = points[i - ps],
+ y1 = points[i - ps + ypos],
+ x2 = points[i], y2 = points[i + ypos];
+
+ if (areaOpen) {
+ if (ps > 0 && x1 != null && x2 == null) {
+ // at turning point
+ segmentEnd = i;
+ ps = -ps;
+ ypos = 2;
+ continue;
+ }
+
+ if (ps < 0 && i == segmentStart + ps) {
+ // done with the reverse sweep
+ ctx.fill();
+ areaOpen = false;
+ ps = -ps;
+ ypos = 1;
+ i = segmentStart = segmentEnd + ps;
+ continue;
+ }
+ }
+
+ if (x1 == null || x2 == null)
+ continue;
+
+ // clip x values
+
+ // clip with xmin
+ if (x1 <= x2 && x1 < axisx.min) {
+ if (x2 < axisx.min)
+ continue;
+ y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x1 = axisx.min;
+ }
+ else if (x2 <= x1 && x2 < axisx.min) {
+ if (x1 < axisx.min)
+ continue;
+ y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x2 = axisx.min;
+ }
+
+ // clip with xmax
+ if (x1 >= x2 && x1 > axisx.max) {
+ if (x2 > axisx.max)
+ continue;
+ y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x1 = axisx.max;
+ }
+ else if (x2 >= x1 && x2 > axisx.max) {
+ if (x1 > axisx.max)
+ continue;
+ y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
+ x2 = axisx.max;
+ }
+
+ if (!areaOpen) {
+ // open area
+ ctx.beginPath();
+ ctx.moveTo(axisx.p2c(x1), axisy.p2c(bottom));
+ areaOpen = true;
+ }
+
+ // now first check the case where both is outside
+ if (y1 >= axisy.max && y2 >= axisy.max) {
+ ctx.lineTo(axisx.p2c(x1), axisy.p2c(axisy.max));
+ ctx.lineTo(axisx.p2c(x2), axisy.p2c(axisy.max));
+ continue;
+ }
+ else if (y1 <= axisy.min && y2 <= axisy.min) {
+ ctx.lineTo(axisx.p2c(x1), axisy.p2c(axisy.min));
+ ctx.lineTo(axisx.p2c(x2), axisy.p2c(axisy.min));
+ continue;
+ }
+
+ // else it's a bit more complicated, there might
+ // be a flat maxed out rectangle first, then a
+ // triangular cutout or reverse; to find these
+ // keep track of the current x values
+ var x1old = x1, x2old = x2;
+
+ // clip the y values, without shortcutting, we
+ // go through all cases in turn
+
+ // clip with ymin
+ if (y1 <= y2 && y1 < axisy.min && y2 >= axisy.min) {
+ x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y1 = axisy.min;
+ }
+ else if (y2 <= y1 && y2 < axisy.min && y1 >= axisy.min) {
+ x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y2 = axisy.min;
+ }
+
+ // clip with ymax
+ if (y1 >= y2 && y1 > axisy.max && y2 <= axisy.max) {
+ x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y1 = axisy.max;
+ }
+ else if (y2 >= y1 && y2 > axisy.max && y1 <= axisy.max) {
+ x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
+ y2 = axisy.max;
+ }
+
+ // if the x value was changed we got a rectangle
+ // to fill
+ if (x1 != x1old) {
+ ctx.lineTo(axisx.p2c(x1old), axisy.p2c(y1));
+ // it goes to (x1, y1), but we fill that below
+ }
+
+ // fill triangular section, this sometimes result
+ // in redundant points if (x1, y1) hasn't changed
+ // from previous line to, but we just ignore that
+ ctx.lineTo(axisx.p2c(x1), axisy.p2c(y1));
+ ctx.lineTo(axisx.p2c(x2), axisy.p2c(y2));
+
+ // fill the other rectangle if it's there
+ if (x2 != x2old) {
+ ctx.lineTo(axisx.p2c(x2), axisy.p2c(y2));
+ ctx.lineTo(axisx.p2c(x2old), axisy.p2c(y2));
+ }
+ }
+ }
+
+ ctx.save();
+ ctx.translate(plotOffset.left, plotOffset.top);
+ ctx.lineJoin = "round";
+
+ var lw = series.lines.lineWidth,
+ sw = series.shadowSize;
+ // FIXME: consider another form of shadow when filling is turned on
+ if (lw > 0 && sw > 0) {
+ // draw shadow as a thick and thin line with transparency
+ ctx.lineWidth = sw;
+ ctx.strokeStyle = "rgba(0,0,0,0.1)";
+ // position shadow at angle from the mid of line
+ var angle = Math.PI/18;
+ plotLine(series.datapoints, Math.sin(angle) * (lw/2 + sw/2), Math.cos(angle) * (lw/2 + sw/2), series.xaxis, series.yaxis);
+ ctx.lineWidth = sw/2;
+ plotLine(series.datapoints, Math.sin(angle) * (lw/2 + sw/4), Math.cos(angle) * (lw/2 + sw/4), series.xaxis, series.yaxis);
+ }
+
+ ctx.lineWidth = lw;
+ ctx.strokeStyle = series.color;
+ var fillStyle = getFillStyle(series.lines, series.color, 0, plotHeight);
+ if (fillStyle) {
+ ctx.fillStyle = fillStyle;
+ plotLineArea(series.datapoints, series.xaxis, series.yaxis);
+ }
+
+ if (lw > 0)
+ plotLine(series.datapoints, 0, 0, series.xaxis, series.yaxis);
+ ctx.restore();
+ }
+
+ function drawSeriesPoints(series) {
+ function plotPoints(datapoints, radius, fillStyle, offset, shadow, axisx, axisy, symbol) {
+ var points = datapoints.points, ps = datapoints.pointsize;
+
+ for (var i = 0; i < points.length; i += ps) {
+ var x = points[i], y = points[i + 1];
+ if (x == null || x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max)
+ continue;
+
+ ctx.beginPath();
+ x = axisx.p2c(x);
+ y = axisy.p2c(y) + offset;
+ if (symbol == "circle")
+ ctx.arc(x, y, radius, 0, shadow ? Math.PI : Math.PI * 2, false);
+ else
+ symbol(ctx, x, y, radius, shadow);
+ ctx.closePath();
+
+ if (fillStyle) {
+ ctx.fillStyle = fillStyle;
+ ctx.fill();
+ }
+ ctx.stroke();
+ }
+ }
+
+ ctx.save();
+ ctx.translate(plotOffset.left, plotOffset.top);
+
+ var lw = series.points.lineWidth,
+ sw = series.shadowSize,
+ radius = series.points.radius,
+ symbol = series.points.symbol;
+
+ // If the user sets the line width to 0, we change it to a very
+ // small value. A line width of 0 seems to force the default of 1.
+ // Doing the conditional here allows the shadow setting to still be
+ // optional even with a lineWidth of 0.
+
+ if( lw == 0 )
+ lw = 0.0001;
+
+ if (lw > 0 && sw > 0) {
+ // draw shadow in two steps
+ var w = sw / 2;
+ ctx.lineWidth = w;
+ ctx.strokeStyle = "rgba(0,0,0,0.1)";
+ plotPoints(series.datapoints, radius, null, w + w/2, true,
+ series.xaxis, series.yaxis, symbol);
+
+ ctx.strokeStyle = "rgba(0,0,0,0.2)";
+ plotPoints(series.datapoints, radius, null, w/2, true,
+ series.xaxis, series.yaxis, symbol);
+ }
+
+ ctx.lineWidth = lw;
+ ctx.strokeStyle = series.color;
+ plotPoints(series.datapoints, radius,
+ getFillStyle(series.points, series.color), 0, false,
+ series.xaxis, series.yaxis, symbol);
+ ctx.restore();
+ }
+
+ function drawBar(x, y, b, barLeft, barRight, fillStyleCallback, axisx, axisy, c, horizontal, lineWidth) {
+ var left, right, bottom, top,
+ drawLeft, drawRight, drawTop, drawBottom,
+ tmp;
+
+ // in horizontal mode, we start the bar from the left
+ // instead of from the bottom so it appears to be
+ // horizontal rather than vertical
+ if (horizontal) {
+ drawBottom = drawRight = drawTop = true;
+ drawLeft = false;
+ left = b;
+ right = x;
+ top = y + barLeft;
+ bottom = y + barRight;
+
+ // account for negative bars
+ if (right < left) {
+ tmp = right;
+ right = left;
+ left = tmp;
+ drawLeft = true;
+ drawRight = false;
+ }
+ }
+ else {
+ drawLeft = drawRight = drawTop = true;
+ drawBottom = false;
+ left = x + barLeft;
+ right = x + barRight;
+ bottom = b;
+ top = y;
+
+ // account for negative bars
+ if (top < bottom) {
+ tmp = top;
+ top = bottom;
+ bottom = tmp;
+ drawBottom = true;
+ drawTop = false;
+ }
+ }
+
+ // clip
+ if (right < axisx.min || left > axisx.max ||
+ top < axisy.min || bottom > axisy.max)
+ return;
+
+ if (left < axisx.min) {
+ left = axisx.min;
+ drawLeft = false;
+ }
+
+ if (right > axisx.max) {
+ right = axisx.max;
+ drawRight = false;
+ }
+
+ if (bottom < axisy.min) {
+ bottom = axisy.min;
+ drawBottom = false;
+ }
+
+ if (top > axisy.max) {
+ top = axisy.max;
+ drawTop = false;
+ }
+
+ left = axisx.p2c(left);
+ bottom = axisy.p2c(bottom);
+ right = axisx.p2c(right);
+ top = axisy.p2c(top);
+
+ // fill the bar
+ if (fillStyleCallback) {
+ c.fillStyle = fillStyleCallback(bottom, top);
+ c.fillRect(left, top, right - left, bottom - top)
+ }
+
+ // draw outline
+ if (lineWidth > 0 && (drawLeft || drawRight || drawTop || drawBottom)) {
+ c.beginPath();
+
+ // FIXME: inline moveTo is buggy with excanvas
+ c.moveTo(left, bottom);
+ if (drawLeft)
+ c.lineTo(left, top);
+ else
+ c.moveTo(left, top);
+ if (drawTop)
+ c.lineTo(right, top);
+ else
+ c.moveTo(right, top);
+ if (drawRight)
+ c.lineTo(right, bottom);
+ else
+ c.moveTo(right, bottom);
+ if (drawBottom)
+ c.lineTo(left, bottom);
+ else
+ c.moveTo(left, bottom);
+ c.stroke();
+ }
+ }
+
+ function drawSeriesBars(series) {
+ function plotBars(datapoints, barLeft, barRight, fillStyleCallback, axisx, axisy) {
+ var points = datapoints.points, ps = datapoints.pointsize;
+
+ for (var i = 0; i < points.length; i += ps) {
+ if (points[i] == null)
+ continue;
+ drawBar(points[i], points[i + 1], points[i + 2], barLeft, barRight, fillStyleCallback, axisx, axisy, ctx, series.bars.horizontal, series.bars.lineWidth);
+ }
+ }
+
+ ctx.save();
+ ctx.translate(plotOffset.left, plotOffset.top);
+
+ // FIXME: figure out a way to add shadows (for instance along the right edge)
+ ctx.lineWidth = series.bars.lineWidth;
+ ctx.strokeStyle = series.color;
+
+ var barLeft;
+
+ switch (series.bars.align) {
+ case "left":
+ barLeft = 0;
+ break;
+ case "right":
+ barLeft = -series.bars.barWidth;
+ break;
+ default:
+ barLeft = -series.bars.barWidth / 2;
+ }
+
+ var fillStyleCallback = series.bars.fill ? function (bottom, top) { return getFillStyle(series.bars, series.color, bottom, top); } : null;
+ plotBars(series.datapoints, barLeft, barLeft + series.bars.barWidth, fillStyleCallback, series.xaxis, series.yaxis);
+ ctx.restore();
+ }
+
+ function getFillStyle(filloptions, seriesColor, bottom, top) {
+ var fill = filloptions.fill;
+ if (!fill)
+ return null;
+
+ if (filloptions.fillColor)
+ return getColorOrGradient(filloptions.fillColor, bottom, top, seriesColor);
+
+ var c = $.color.parse(seriesColor);
+ c.a = typeof fill == "number" ? fill : 0.4;
+ c.normalize();
+ return c.toString();
+ }
+
+ function insertLegend() {
+
+ placeholder.find(".legend").remove();
+
+ if (!options.legend.show)
+ return;
+
+ var fragments = [], entries = [], rowStarted = false,
+ lf = options.legend.labelFormatter, s, label;
+
+ // Build a list of legend entries, with each having a label and a color
+
+ for (var i = 0; i < series.length; ++i) {
+ s = series[i];
+ if (s.label) {
+ label = lf ? lf(s.label, s) : s.label;
+ if (label) {
+ entries.push({
+ label: label,
+ color: s.color
+ });
+ }
+ }
+ }
+
+ // Sort the legend using either the default or a custom comparator
+
+ if (options.legend.sorted) {
+ if ($.isFunction(options.legend.sorted)) {
+ entries.sort(options.legend.sorted);
+ } else if (options.legend.sorted == "reverse") {
+ entries.reverse();
+ } else {
+ var ascending = options.legend.sorted != "descending";
+ entries.sort(function(a, b) {
+ return a.label == b.label ? 0 : (
+ (a.label < b.label) != ascending ? 1 : -1 // Logical XOR
+ );
+ });
+ }
+ }
+
+ // Generate markup for the list of entries, in their final order
+
+ for (var i = 0; i < entries.length; ++i) {
+
+ var entry = entries[i];
+
+ if (i % options.legend.noColumns == 0) {
+ if (rowStarted)
+ fragments.push('</tr>');
+ fragments.push('<tr>');
+ rowStarted = true;
+ }
+
+ fragments.push(
+ '<td class="legendColorBox"><div style="border:1px solid ' + options.legend.labelBoxBorderColor + ';padding:1px"><div style="width:4px;height:0;border:5px solid ' + entry.color + ';overflow:hidden"></div></div></td>' +
+ '<td class="legendLabel">' + entry.label + '</td>'
+ );
+ }
+
+ if (rowStarted)
+ fragments.push('</tr>');
+
+ if (fragments.length == 0)
+ return;
+
+ var table = '<table style="font-size:smaller;color:' + options.grid.color + '">' + fragments.join("") + '</table>';
+ if (options.legend.container != null)
+ $(options.legend.container).html(table);
+ else {
+ var pos = "",
+ p = options.legend.position,
+ m = options.legend.margin;
+ if (m[0] == null)
+ m = [m, m];
+ if (p.charAt(0) == "n")
+ pos += 'top:' + (m[1] + plotOffset.top) + 'px;';
+ else if (p.charAt(0) == "s")
+ pos += 'bottom:' + (m[1] + plotOffset.bottom) + 'px;';
+ if (p.charAt(1) == "e")
+ pos += 'right:' + (m[0] + plotOffset.right) + 'px;';
+ else if (p.charAt(1) == "w")
+ pos += 'left:' + (m[0] + plotOffset.left) + 'px;';
+ var legend = $('<div class="legend">' + table.replace('style="', 'style="position:absolute;' + pos +';') + '</div>').appendTo(placeholder);
+ if (options.legend.backgroundOpacity != 0.0) {
+ // put in the transparent background
+ // separately to avoid blended labels and
+ // label boxes
+ var c = options.legend.backgroundColor;
+ if (c == null) {
+ c = options.grid.backgroundColor;
+ if (c && typeof c == "string")
+ c = $.color.parse(c);
+ else
+ c = $.color.extract(legend, 'background-color');
+ c.a = 1;
+ c = c.toString();
+ }
+ var div = legend.children();
+ $('<div style="position:absolute;width:' + div.width() + 'px;height:' + div.height() + 'px;' + pos +'background-color:' + c + ';"> </div>').prependTo(legend).css('opacity', options.legend.backgroundOpacity);
+ }
+ }
+ }
+
+
+ // interactive features
+
+ var highlights = [],
+ redrawTimeout = null;
+
+ // returns the data item the mouse is over, or null if none is found
+ function findNearbyItem(mouseX, mouseY, seriesFilter) {
+ var maxDistance = options.grid.mouseActiveRadius,
+ smallestDistance = maxDistance * maxDistance + 1,
+ item = null, foundPoint = false, i, j, ps;
+
+ for (i = series.length - 1; i >= 0; --i) {
+ if (!seriesFilter(series[i]))
+ continue;
+
+ var s = series[i],
+ axisx = s.xaxis,
+ axisy = s.yaxis,
+ points = s.datapoints.points,
+ mx = axisx.c2p(mouseX), // precompute some stuff to make the loop faster
+ my = axisy.c2p(mouseY),
+ maxx = maxDistance / axisx.scale,
+ maxy = maxDistance / axisy.scale;
+
+ ps = s.datapoints.pointsize;
+ // with inverse transforms, we can't use the maxx/maxy
+ // optimization, sadly
+ if (axisx.options.inverseTransform)
+ maxx = Number.MAX_VALUE;
+ if (axisy.options.inverseTransform)
+ maxy = Number.MAX_VALUE;
+
+ if (s.lines.show || s.points.show) {
+ for (j = 0; j < points.length; j += ps) {
+ var x = points[j], y = points[j + 1];
+ if (x == null)
+ continue;
+
+ // For points and lines, the cursor must be within a
+ // certain distance to the data point
+ if (x - mx > maxx || x - mx < -maxx ||
+ y - my > maxy || y - my < -maxy)
+ continue;
+
+ // We have to calculate distances in pixels, not in
+ // data units, because the scales of the axes may be different
+ var dx = Math.abs(axisx.p2c(x) - mouseX),
+ dy = Math.abs(axisy.p2c(y) - mouseY),
+ dist = dx * dx + dy * dy; // we save the sqrt
+
+ // use <= to ensure last point takes precedence
+ // (last generally means on top of)
+ if (dist < smallestDistance) {
+ smallestDistance = dist;
+ item = [i, j / ps];
+ }
+ }
+ }
+
+ if (s.bars.show && !item) { // no other point can be nearby
+
+ var barLeft, barRight;
+
+ switch (s.bars.align) {
+ case "left":
+ barLeft = 0;
+ break;
+ case "right":
+ barLeft = -s.bars.barWidth;
+ break;
+ default:
+ barLeft = -s.bars.barWidth / 2;
+ }
+
+ barRight = barLeft + s.bars.barWidth;
+
+ for (j = 0; j < points.length; j += ps) {
+ var x = points[j], y = points[j + 1], b = points[j + 2];
+ if (x == null)
+ continue;
+
+ // for a bar graph, the cursor must be inside the bar
+ if (series[i].bars.horizontal ?
+ (mx <= Math.max(b, x) && mx >= Math.min(b, x) &&
+ my >= y + barLeft && my <= y + barRight) :
+ (mx >= x + barLeft && mx <= x + barRight &&
+ my >= Math.min(b, y) && my <= Math.max(b, y)))
+ item = [i, j / ps];
+ }
+ }
+ }
+
+ if (item) {
+ i = item[0];
+ j = item[1];
+ ps = series[i].datapoints.pointsize;
+
+ return { datapoint: series[i].datapoints.points.slice(j * ps, (j + 1) * ps),
+ dataIndex: j,
+ series: series[i],
+ seriesIndex: i };
+ }
+
+ return null;
+ }
+
+ function onMouseMove(e) {
+ if (options.grid.hoverable)
+ triggerClickHoverEvent("plothover", e,
+ function (s) { return s["hoverable"] != false; });
+ }
+
+ function onMouseLeave(e) {
+ if (options.grid.hoverable)
+ triggerClickHoverEvent("plothover", e,
+ function (s) { return false; });
+ }
+
+ function onClick(e) {
+ triggerClickHoverEvent("plotclick", e,
+ function (s) { return s["clickable"] != false; });
+ }
+
+ // trigger click or hover event (they send the same parameters
+ // so we share their code)
+ function triggerClickHoverEvent(eventname, event, seriesFilter) {
+ var offset = eventHolder.offset(),
+ canvasX = event.pageX - offset.left - plotOffset.left,
+ canvasY = event.pageY - offset.top - plotOffset.top,
+ pos = canvasToAxisCoords({ left: canvasX, top: canvasY });
+
+ pos.pageX = event.pageX;
+ pos.pageY = event.pageY;
+
+ var item = findNearbyItem(canvasX, canvasY, seriesFilter);
+
+ if (item) {
+ // fill in mouse pos for any listeners out there
+ item.pageX = parseInt(item.series.xaxis.p2c(item.datapoint[0]) + offset.left + plotOffset.left, 10);
+ item.pageY = parseInt(item.series.yaxis.p2c(item.datapoint[1]) + offset.top + plotOffset.top, 10);
+ }
+
+ if (options.grid.autoHighlight) {
+ // clear auto-highlights
+ for (var i = 0; i < highlights.length; ++i) {
+ var h = highlights[i];
+ if (h.auto == eventname &&
+ !(item && h.series == item.series &&
+ h.point[0] == item.datapoint[0] &&
+ h.point[1] == item.datapoint[1]))
+ unhighlight(h.series, h.point);
+ }
+
+ if (item)
+ highlight(item.series, item.datapoint, eventname);
+ }
+
+ placeholder.trigger(eventname, [ pos, item ]);
+ }
+
+ function triggerRedrawOverlay() {
+ var t = options.interaction.redrawOverlayInterval;
+ if (t == -1) { // skip event queue
+ drawOverlay();
+ return;
+ }
+
+ if (!redrawTimeout)
+ redrawTimeout = setTimeout(drawOverlay, t);
+ }
+
+ function drawOverlay() {
+ redrawTimeout = null;
+
+ // draw highlights
+ octx.save();
+ overlay.clear();
+ octx.translate(plotOffset.left, plotOffset.top);
+
+ var i, hi;
+ for (i = 0; i < highlights.length; ++i) {
+ hi = highlights[i];
+
+ if (hi.series.bars.show)
+ drawBarHighlight(hi.series, hi.point);
+ else
+ drawPointHighlight(hi.series, hi.point);
+ }
+ octx.restore();
+
+ executeHooks(hooks.drawOverlay, [octx]);
+ }
+
+ function highlight(s, point, auto) {
+ if (typeof s == "number")
+ s = series[s];
+
+ if (typeof point == "number") {
+ var ps = s.datapoints.pointsize;
+ point = s.datapoints.points.slice(ps * point, ps * (point + 1));
+ }
+
+ var i = indexOfHighlight(s, point);
+ if (i == -1) {
+ highlights.push({ series: s, point: point, auto: auto });
+
+ triggerRedrawOverlay();
+ }
+ else if (!auto)
+ highlights[i].auto = false;
+ }
+
+ function unhighlight(s, point) {
+ if (s == null && point == null) {
+ highlights = [];
+ triggerRedrawOverlay();
+ return;
+ }
+
+ if (typeof s == "number")
+ s = series[s];
+
+ if (typeof point == "number") {
+ var ps = s.datapoints.pointsize;
+ point = s.datapoints.points.slice(ps * point, ps * (point + 1));
+ }
+
+ var i = indexOfHighlight(s, point);
+ if (i != -1) {
+ highlights.splice(i, 1);
+
+ triggerRedrawOverlay();
+ }
+ }
+
+ function indexOfHighlight(s, p) {
+ for (var i = 0; i < highlights.length; ++i) {
+ var h = highlights[i];
+ if (h.series == s && h.point[0] == p[0]
+ && h.point[1] == p[1])
+ return i;
+ }
+ return -1;
+ }
+
+ function drawPointHighlight(series, point) {
+ var x = point[0], y = point[1],
+ axisx = series.xaxis, axisy = series.yaxis,
+ highlightColor = (typeof series.highlightColor === "string") ? series.highlightColor : $.color.parse(series.color).scale('a', 0.5).toString();
+
+ if (x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max)
+ return;
+
+ var pointRadius = series.points.radius + series.points.lineWidth / 2;
+ octx.lineWidth = pointRadius;
+ octx.strokeStyle = highlightColor;
+ var radius = 1.5 * pointRadius;
+ x = axisx.p2c(x);
+ y = axisy.p2c(y);
+
+ octx.beginPath();
+ if (series.points.symbol == "circle")
+ octx.arc(x, y, radius, 0, 2 * Math.PI, false);
+ else
+ series.points.symbol(octx, x, y, radius, false);
+ octx.closePath();
+ octx.stroke();
+ }
+
+ function drawBarHighlight(series, point) {
+ var highlightColor = (typeof series.highlightColor === "string") ? series.highlightColor : $.color.parse(series.color).scale('a', 0.5).toString(),
+ fillStyle = highlightColor,
+ barLeft;
+
+ switch (series.bars.align) {
+ case "left":
+ barLeft = 0;
+ break;
+ case "right":
+ barLeft = -series.bars.barWidth;
+ break;
+ default:
+ barLeft = -series.bars.barWidth / 2;
+ }
+
+ octx.lineWidth = series.bars.lineWidth;
+ octx.strokeStyle = highlightColor;
+
+ drawBar(point[0], point[1], point[2] || 0, barLeft, barLeft + series.bars.barWidth,
+ function () { return fillStyle; }, series.xaxis, series.yaxis, octx, series.bars.horizontal, series.bars.lineWidth);
+ }
+
+ function getColorOrGradient(spec, bottom, top, defaultColor) {
+ if (typeof spec == "string")
+ return spec;
+ else {
+ // assume this is a gradient spec; IE currently only
+ // supports a simple vertical gradient properly, so that's
+ // what we support too
+ var gradient = ctx.createLinearGradient(0, top, 0, bottom);
+
+ for (var i = 0, l = spec.colors.length; i < l; ++i) {
+ var c = spec.colors[i];
+ if (typeof c != "string") {
+ var co = $.color.parse(defaultColor);
+ if (c.brightness != null)
+ co = co.scale('rgb', c.brightness);
+ if (c.opacity != null)
+ co.a *= c.opacity;
+ c = co.toString();
+ }
+ gradient.addColorStop(i / (l - 1), c);
+ }
+
+ return gradient;
+ }
+ }
+ }
+
+ // Add the plot function to the top level of the jQuery object
+
+ $.plot = function(placeholder, data, options) {
+ //var t0 = new Date();
+ var plot = new Plot($(placeholder), data, options, $.plot.plugins);
+ //(window.console ? console.log : alert)("time used (msecs): " + ((new Date()).getTime() - t0.getTime()));
+ return plot;
+ };
+
+ $.plot.version = "0.8.2-alpha";
+
+ $.plot.plugins = [];
+
+ // Also add the plot function as a chainable property
+
+ $.fn.plot = function(data, options) {
+ return this.each(function() {
+ $.plot(this, data, options);
+ });
+ };
+
+ // round to nearby lower multiple of base
+ function floorInBase(n, base) {
+ return base * Math.floor(n / base);
+ }
+
+})(jQuery);
diff --git a/app/assets/javascripts/jquery.flot.min.js b/app/assets/javascripts/jquery.flot.min.js
new file mode 100644
index 000000000..b82faa18f
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.min.js
@@ -0,0 +1 @@
+(function(B){B.color={};B.color.make=function(F,E,C,D){var G={};G.r=F||0;G.g=E||0;G.b=C||0;G.a=D!=null?D:1;G.add=function(J,I){for(var H=0;H<J.length;++H){G[J.charAt(H)]+=I}return G.normalize()};G.scale=function(J,I){for(var H=0;H<J.length;++H){G[J.charAt(H)]*=I}return G.normalize()};G.toString=function(){if(G.a>=1){return"rgb("+[G.r,G.g,G.b].join(",")+")"}else{return"rgba("+[G.r,G.g,G.b,G.a].join(",")+")"}};G.normalize=function(){function H(J,K,I){return K<J?J:(K>I?I:K)}G.r=H(0,parseInt(G.r),255);G.g=H(0,parseInt(G.g),255);G.b=H(0,parseInt(G.b),255);G.a=H(0,G.a,1);return G};G.clone=function(){return B.color.make(G.r,G.b,G.g,G.a)};return G.normalize()};B.color.extract=function(D,C){var E;do{E=D.css(C).toLowerCase();if(E!=""&&E!="transparent"){break}D=D.parent()}while(!B.nodeName(D.get(0),"body"));if(E=="rgba(0, 0, 0, 0)"){E="transparent"}return B.color.parse(E)};B.color.parse=function(F){var E,C=B.color.make;if(E=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10))}if(E=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10),parseFloat(E[4]))}if(E=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55)}if(E=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55,parseFloat(E[4]))}if(E=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(F)){return C(parseInt(E[1],16),parseInt(E[2],16),parseInt(E[3],16))}if(E=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(F)){return C(parseInt(E[1]+E[1],16),parseInt(E[2]+E[2],16),parseInt(E[3]+E[3],16))}var D=B.trim(F).toLowerCase();if(D=="transparent"){return C(255,255,255,0)}else{E=A[D]||[0,0,0];return C(E[0],E[1],E[2])}};var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function($){var hasOwnProperty=Object.prototype.hasOwnProperty;function Canvas(cls,container){var element=container.children("."+cls)[0];if(element==null){element=document.createElement("canvas");element.className=cls;$(element).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(container);if(!element.getContext){if(window.G_vmlCanvasManager){element=window.G_vmlCanvasManager.initElement(element)}else{throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.")}}}this.element=element;var context=this.context=element.getContext("2d");var devicePixelRatio=window.devicePixelRatio||1,backingStoreRatio=context.webkitBackingStorePixelRatio||context.mozBackingStorePixelRatio||context.msBackingStorePixelRatio||context.oBackingStorePixelRatio||context.backingStorePixelRatio||1;this.pixelRatio=devicePixelRatio/backingStoreRatio;this.resize(container.width(),container.height());this.textContainer=null;this.text={};this._textCache={}}Canvas.prototype.resize=function(width,height){if(width<=0||height<=0){throw new Error("Invalid dimensions for plot, width = "+width+", height = "+height)}var element=this.element,context=this.context,pixelRatio=this.pixelRatio;if(this.width!=width){element.width=width*pixelRatio;element.style.width=width+"px";this.width=width}if(this.height!=height){element.height=height*pixelRatio;element.style.height=height+"px";this.height=height}context.restore();context.save();context.scale(pixelRatio,pixelRatio)};Canvas.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)};Canvas.prototype.render=function(){var cache=this._textCache;for(var layerKey in cache){if(hasOwnProperty.call(cache,layerKey)){var layer=this.getTextLayer(layerKey),layerCache=cache[layerKey];layer.hide();for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){if(position.active){if(!position.rendered){layer.append(position.element);position.rendered=true}}else{positions.splice(i--,1);if(position.rendered){position.element.detach()}}}if(positions.length==0){delete styleCache[key]}}}}}layer.show()}}};Canvas.prototype.getTextLayer=function(classes){var layer=this.text[classes];if(layer==null){if(this.textContainer==null){this.textContainer=$("<div class='flot-text'></div>").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)}layer=this.text[classes]=$("<div></div>").addClass(classes).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)}return layer};Canvas.prototype.getTextInfo=function(layer,text,font,angle,width){var textStyle,layerCache,styleCache,info;text=""+text;if(typeof font==="object"){textStyle=font.style+" "+font.variant+" "+font.weight+" "+font.size+"px/"+font.lineHeight+"px "+font.family}else{textStyle=font}layerCache=this._textCache[layer];if(layerCache==null){layerCache=this._textCache[layer]={}}styleCache=layerCache[textStyle];if(styleCache==null){styleCache=layerCache[textStyle]={}}info=styleCache[text];if(info==null){var element=$("<div></div>").html(text).css({position:"absolute","max-width":width,top:-9999}).appendTo(this.getTextLayer(layer));if(typeof font==="object"){element.css({font:textStyle,color:font.color})}else{if(typeof font==="string"){element.addClass(font)}}info=styleCache[text]={width:element.outerWidth(true),height:element.outerHeight(true),element:element,positions:[]};element.detach()}return info};Canvas.prototype.addText=function(layer,x,y,text,font,angle,width,halign,valign){var info=this.getTextInfo(layer,text,font,angle,width),positions=info.positions;if(halign=="center"){x-=info.width/2}else{if(halign=="right"){x-=info.width}}if(valign=="middle"){y-=info.height/2}else{if(valign=="bottom"){y-=info.height}}for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=true;return}}position={active:true,rendered:false,element:positions.length?info.element.clone():info.element,x:x,y:y};positions.push(position);position.element.css({top:Math.round(y),left:Math.round(x),"text-align":halign})};Canvas.prototype.removeText=function(layer,x,y,text,font,angle){if(text==null){var layerCache=this._textCache[layer];if(layerCache!=null){for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){position.active=false}}}}}}}else{var positions=this.getTextInfo(layer,text,font,angle).positions;for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=false}}}};function Plot(placeholder,data_,options_,plugins){var series=[],options={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:0.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false,zero:true},shadowSize:3,highlightColor:null},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1000/60},hooks:{}},surface=null,overlay=null,eventHolder=null,ctx=null,octx=null,xaxes=[],yaxes=[],plotOffset={left:0,right:0,top:0,bottom:0},plotWidth=0,plotHeight=0,hooks={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},plot=this;plot.setData=setData;plot.setupGrid=setupGrid;plot.draw=draw;plot.getPlaceholder=function(){return placeholder};plot.getCanvas=function(){return surface.element};plot.getPlotOffset=function(){return plotOffset};plot.width=function(){return plotWidth};plot.height=function(){return plotHeight};plot.offset=function(){var o=eventHolder.offset();o.left+=plotOffset.left;o.top+=plotOffset.top;return o};plot.getData=function(){return series};plot.getAxes=function(){var res={},i;$.each(xaxes.concat(yaxes),function(_,axis){if(axis){res[axis.direction+(axis.n!=1?axis.n:"")+"axis"]=axis}});return res};plot.getXAxes=function(){return xaxes};plot.getYAxes=function(){return yaxes};plot.c2p=canvasToAxisCoords;plot.p2c=axisToCanvasCoords;plot.getOptions=function(){return options};plot.highlight=highlight;plot.unhighlight=unhighlight;plot.triggerRedrawOverlay=triggerRedrawOverlay;plot.pointOffset=function(point){return{left:parseInt(xaxes[axisNumber(point,"x")-1].p2c(+point.x)+plotOffset.left,10),top:parseInt(yaxes[axisNumber(point,"y")-1].p2c(+point.y)+plotOffset.top,10)}};plot.shutdown=shutdown;plot.resize=function(){var width=placeholder.width(),height=placeholder.height();surface.resize(width,height);overlay.resize(width,height)};plot.hooks=hooks;initPlugins(plot);parseOptions(options_);setupCanvases();setData(data_);setupGrid();draw();bindEvents();function executeHooks(hook,args){args=[plot].concat(args);for(var i=0;i<hook.length;++i){hook[i].apply(this,args)}}function initPlugins(){var classes={Canvas:Canvas};for(var i=0;i<plugins.length;++i){var p=plugins[i];p.init(plot,classes);if(p.options){$.extend(true,options,p.options)}}}function parseOptions(opts){$.extend(true,options,opts);if(opts&&opts.colors){options.colors=opts.colors}if(options.xaxis.color==null){options.xaxis.color=$.color.parse(options.grid.color).scale("a",0.22).toString()}if(options.yaxis.color==null){options.yaxis.color=$.color.parse(options.grid.color).scale("a",0.22).toString()}if(options.xaxis.tickColor==null){options.xaxis.tickColor=options.grid.tickColor||options.xaxis.color}if(options.yaxis.tickColor==null){options.yaxis.tickColor=options.grid.tickColor||options.yaxis.color}if(options.grid.borderColor==null){options.grid.borderColor=options.grid.color}if(options.grid.tickColor==null){options.grid.tickColor=$.color.parse(options.grid.color).scale("a",0.22).toString()}var i,axisOptions,axisCount,fontDefaults={style:placeholder.css("font-style"),size:Math.round(0.8*(+placeholder.css("font-size").replace("px","")||13)),variant:placeholder.css("font-variant"),weight:placeholder.css("font-weight"),family:placeholder.css("font-family")};fontDefaults.lineHeight=fontDefaults.size*1.15;axisCount=options.xaxes.length||1;for(i=0;i<axisCount;++i){axisOptions=options.xaxes[i];if(axisOptions&&!axisOptions.tickColor){axisOptions.tickColor=axisOptions.color}axisOptions=$.extend(true,{},options.xaxis,axisOptions);options.xaxes[i]=axisOptions;if(axisOptions.font){axisOptions.font=$.extend({},fontDefaults,axisOptions.font);if(!axisOptions.font.color){axisOptions.font.color=axisOptions.color}}}axisCount=options.yaxes.length||1;for(i=0;i<axisCount;++i){axisOptions=options.yaxes[i];if(axisOptions&&!axisOptions.tickColor){axisOptions.tickColor=axisOptions.color}axisOptions=$.extend(true,{},options.yaxis,axisOptions);options.yaxes[i]=axisOptions;if(axisOptions.font){axisOptions.font=$.extend({},fontDefaults,axisOptions.font);if(!axisOptions.font.color){axisOptions.font.color=axisOptions.color}}}if(options.xaxis.noTicks&&options.xaxis.ticks==null){options.xaxis.ticks=options.xaxis.noTicks}if(options.yaxis.noTicks&&options.yaxis.ticks==null){options.yaxis.ticks=options.yaxis.noTicks}if(options.x2axis){options.xaxes[1]=$.extend(true,{},options.xaxis,options.x2axis);options.xaxes[1].position="top"}if(options.y2axis){options.yaxes[1]=$.extend(true,{},options.yaxis,options.y2axis);options.yaxes[1].position="right"}if(options.grid.coloredAreas){options.grid.markings=options.grid.coloredAreas}if(options.grid.coloredAreasColor){options.grid.markingsColor=options.grid.coloredAreasColor}if(options.lines){$.extend(true,options.series.lines,options.lines)}if(options.points){$.extend(true,options.series.points,options.points)}if(options.bars){$.extend(true,options.series.bars,options.bars)}if(options.shadowSize!=null){options.series.shadowSize=options.shadowSize}if(options.highlightColor!=null){options.series.highlightColor=options.highlightColor}for(i=0;i<options.xaxes.length;++i){getOrCreateAxis(xaxes,i+1).options=options.xaxes[i]}for(i=0;i<options.yaxes.length;++i){getOrCreateAxis(yaxes,i+1).options=options.yaxes[i]}for(var n in hooks){if(options.hooks[n]&&options.hooks[n].length){hooks[n]=hooks[n].concat(options.hooks[n])}}executeHooks(hooks.processOptions,[options])}function setData(d){series=parseData(d);fillInSeriesOptions();processData()}function parseData(d){var res=[];for(var i=0;i<d.length;++i){var s=$.extend(true,{},options.series);if(d[i].data!=null){s.data=d[i].data;delete d[i].data;$.extend(true,s,d[i]);d[i].data=s.data}else{s.data=d[i]}res.push(s)}return res}function axisNumber(obj,coord){var a=obj[coord+"axis"];if(typeof a=="object"){a=a.n}if(typeof a!="number"){a=1}return a}function allAxes(){return $.grep(xaxes.concat(yaxes),function(a){return a})}function canvasToAxisCoords(pos){var res={},i,axis;for(i=0;i<xaxes.length;++i){axis=xaxes[i];if(axis&&axis.used){res["x"+axis.n]=axis.c2p(pos.left)}}for(i=0;i<yaxes.length;++i){axis=yaxes[i];if(axis&&axis.used){res["y"+axis.n]=axis.c2p(pos.top)}}if(res.x1!==undefined){res.x=res.x1}if(res.y1!==undefined){res.y=res.y1}return res}function axisToCanvasCoords(pos){var res={},i,axis,key;for(i=0;i<xaxes.length;++i){axis=xaxes[i];if(axis&&axis.used){key="x"+axis.n;if(pos[key]==null&&axis.n==1){key="x"}if(pos[key]!=null){res.left=axis.p2c(pos[key]);break}}}for(i=0;i<yaxes.length;++i){axis=yaxes[i];if(axis&&axis.used){key="y"+axis.n;if(pos[key]==null&&axis.n==1){key="y"}if(pos[key]!=null){res.top=axis.p2c(pos[key]);break}}}return res}function getOrCreateAxis(axes,number){if(!axes[number-1]){axes[number-1]={n:number,direction:axes==xaxes?"x":"y",options:$.extend(true,{},axes==xaxes?options.xaxis:options.yaxis)}}return axes[number-1]}function fillInSeriesOptions(){var neededColors=series.length,maxIndex=-1,i;for(i=0;i<series.length;++i){var sc=series[i].color;if(sc!=null){neededColors--;if(typeof sc=="number"&&sc>maxIndex){maxIndex=sc}}}if(neededColors<=maxIndex){neededColors=maxIndex+1}var c,colors=[],colorPool=options.colors,colorPoolSize=colorPool.length,variation=0;for(i=0;i<neededColors;i++){c=$.color.parse(colorPool[i%colorPoolSize]||"#666");if(i%colorPoolSize==0&&i){if(variation>=0){if(variation<0.5){variation=-variation-0.2}else{variation=0}}else{variation=-variation}}colors[i]=c.scale("rgb",1+variation)}var colori=0,s;for(i=0;i<series.length;++i){s=series[i];if(s.color==null){s.color=colors[colori].toString();++colori}else{if(typeof s.color=="number"){s.color=colors[s.color].toString()}}if(s.lines.show==null){var v,show=true;for(v in s){if(s[v]&&s[v].show){show=false;break}}if(show){s.lines.show=true}}if(s.lines.zero==null){s.lines.zero=!!s.lines.fill}s.xaxis=getOrCreateAxis(xaxes,axisNumber(s,"x"));s.yaxis=getOrCreateAxis(yaxes,axisNumber(s,"y"))}}function processData(){var topSentry=Number.POSITIVE_INFINITY,bottomSentry=Number.NEGATIVE_INFINITY,fakeInfinity=Number.MAX_VALUE,i,j,k,m,length,s,points,ps,x,y,axis,val,f,p,data,format;function updateAxis(axis,min,max){if(min<axis.datamin&&min!=-fakeInfinity){axis.datamin=min}if(max>axis.datamax&&max!=fakeInfinity){axis.datamax=max}}$.each(allAxes(),function(_,axis){axis.datamin=topSentry;axis.datamax=bottomSentry;axis.used=false});for(i=0;i<series.length;++i){s=series[i];s.datapoints={points:[]};executeHooks(hooks.processRawData,[s,s.data,s.datapoints])}for(i=0;i<series.length;++i){s=series[i];data=s.data;format=s.datapoints.format;if(!format){format=[];format.push({x:true,number:true,required:true});format.push({y:true,number:true,required:true});if(s.bars.show||(s.lines.show&&s.lines.fill)){var autoscale=!!((s.bars.show&&s.bars.zero)||(s.lines.show&&s.lines.zero));format.push({y:true,number:true,required:false,defaultValue:0,autoscale:autoscale});if(s.bars.horizontal){delete format[format.length-1].y;format[format.length-1].x=true}}s.datapoints.format=format}if(s.datapoints.pointsize!=null){continue}s.datapoints.pointsize=format.length;ps=s.datapoints.pointsize;points=s.datapoints.points;var insertSteps=s.lines.show&&s.lines.steps;s.xaxis.used=s.yaxis.used=true;for(j=k=0;j<data.length;++j,k+=ps){p=data[j];var nullify=p==null;if(!nullify){for(m=0;m<ps;++m){val=p[m];f=format[m];if(f){if(f.number&&val!=null){val=+val;if(isNaN(val)){val=null}else{if(val==Infinity){val=fakeInfinity}else{if(val==-Infinity){val=-fakeInfinity}}}}if(val==null){if(f.required){nullify=true}if(f.defaultValue!=null){val=f.defaultValue}}}points[k+m]=val}}if(nullify){for(m=0;m<ps;++m){val=points[k+m];if(val!=null){f=format[m];if(f.autoscale!==false){if(f.x){updateAxis(s.xaxis,val,val)}if(f.y){updateAxis(s.yaxis,val,val)}}}points[k+m]=null}}else{if(insertSteps&&k>0&&points[k-ps]!=null&&points[k-ps]!=points[k]&&points[k-ps+1]!=points[k+1]){for(m=0;m<ps;++m){points[k+ps+m]=points[k+m]}points[k+1]=points[k-ps+1];k+=ps}}}}for(i=0;i<series.length;++i){s=series[i];executeHooks(hooks.processDatapoints,[s,s.datapoints])}for(i=0;i<series.length;++i){s=series[i];points=s.datapoints.points;ps=s.datapoints.pointsize;format=s.datapoints.format;var xmin=topSentry,ymin=topSentry,xmax=bottomSentry,ymax=bottomSentry;for(j=0;j<points.length;j+=ps){if(points[j]==null){continue}for(m=0;m<ps;++m){val=points[j+m];f=format[m];if(!f||f.autoscale===false||val==fakeInfinity||val==-fakeInfinity){continue}if(f.x){if(val<xmin){xmin=val}if(val>xmax){xmax=val}}if(f.y){if(val<ymin){ymin=val}if(val>ymax){ymax=val}}}}if(s.bars.show){var delta;switch(s.bars.align){case"left":delta=0;break;case"right":delta=-s.bars.barWidth;break;default:delta=-s.bars.barWidth/2}if(s.bars.horizontal){ymin+=delta;ymax+=delta+s.bars.barWidth}else{xmin+=delta;xmax+=delta+s.bars.barWidth}}updateAxis(s.xaxis,xmin,xmax);updateAxis(s.yaxis,ymin,ymax)}$.each(allAxes(),function(_,axis){if(axis.datamin==topSentry){axis.datamin=null}if(axis.datamax==bottomSentry){axis.datamax=null}})}function setupCanvases(){placeholder.css("padding",0).children(":not(.flot-base,.flot-overlay)").remove();if(placeholder.css("position")=="static"){placeholder.css("position","relative")}surface=new Canvas("flot-base",placeholder);overlay=new Canvas("flot-overlay",placeholder);ctx=surface.context;octx=overlay.context;eventHolder=$(overlay.element).unbind();var existing=placeholder.data("plot");if(existing){existing.shutdown();overlay.clear()}placeholder.data("plot",plot)}function bindEvents(){if(options.grid.hoverable){eventHolder.mousemove(onMouseMove);eventHolder.bind("mouseleave",onMouseLeave)}if(options.grid.clickable){eventHolder.click(onClick)}executeHooks(hooks.bindEvents,[eventHolder])}function shutdown(){if(redrawTimeout){clearTimeout(redrawTimeout)}eventHolder.unbind("mousemove",onMouseMove);eventHolder.unbind("mouseleave",onMouseLeave);eventHolder.unbind("click",onClick);executeHooks(hooks.shutdown,[eventHolder])}function setTransformationHelpers(axis){function identity(x){return x}var s,m,t=axis.options.transform||identity,it=axis.options.inverseTransform;if(axis.direction=="x"){s=axis.scale=plotWidth/Math.abs(t(axis.max)-t(axis.min));m=Math.min(t(axis.max),t(axis.min))}else{s=axis.scale=plotHeight/Math.abs(t(axis.max)-t(axis.min));s=-s;m=Math.max(t(axis.max),t(axis.min))}if(t==identity){axis.p2c=function(p){return(p-m)*s}}else{axis.p2c=function(p){return(t(p)-m)*s}}if(!it){axis.c2p=function(c){return m+c/s}}else{axis.c2p=function(c){return it(m+c/s)}}}function measureTickLabels(axis){var opts=axis.options,ticks=axis.ticks||[],labelWidth=opts.labelWidth||0,labelHeight=opts.labelHeight||0,maxWidth=labelWidth||axis.direction=="x"?Math.floor(surface.width/(ticks.length||1)):null,legacyStyles=axis.direction+"Axis "+axis.direction+axis.n+"Axis",layer="flot-"+axis.direction+"-axis flot-"+axis.direction+axis.n+"-axis "+legacyStyles,font=opts.font||"flot-tick-label tickLabel";for(var i=0;i<ticks.length;++i){var t=ticks[i];if(!t.label){continue}var info=surface.getTextInfo(layer,t.label,font,null,maxWidth);labelWidth=Math.max(labelWidth,info.width);labelHeight=Math.max(labelHeight,info.height)}axis.labelWidth=opts.labelWidth||labelWidth;axis.labelHeight=opts.labelHeight||labelHeight}function allocateAxisBoxFirstPhase(axis){var lw=axis.labelWidth,lh=axis.labelHeight,pos=axis.options.position,tickLength=axis.options.tickLength,axisMargin=options.grid.axisMargin,padding=options.grid.labelMargin,all=axis.direction=="x"?xaxes:yaxes,index,innermost;var samePosition=$.grep(all,function(a){return a&&a.options.position==pos&&a.reserveSpace});if($.inArray(axis,samePosition)==samePosition.length-1){axisMargin=0}innermost=$.inArray(axis,samePosition)==0;if(tickLength==null){if(innermost){tickLength="full"}else{tickLength=5}}if(!isNaN(+tickLength)){padding+=+tickLength}if(axis.direction=="x"){lh+=padding;if(pos=="bottom"){plotOffset.bottom+=lh+axisMargin;axis.box={top:surface.height-plotOffset.bottom,height:lh}}else{axis.box={top:plotOffset.top+axisMargin,height:lh};plotOffset.top+=lh+axisMargin}}else{lw+=padding;if(pos=="left"){axis.box={left:plotOffset.left+axisMargin,width:lw};plotOffset.left+=lw+axisMargin}else{plotOffset.right+=lw+axisMargin;axis.box={left:surface.width-plotOffset.right,width:lw}}}axis.position=pos;axis.tickLength=tickLength;axis.box.padding=padding;axis.innermost=innermost}function allocateAxisBoxSecondPhase(axis){if(axis.direction=="x"){axis.box.left=plotOffset.left-axis.labelWidth/2;axis.box.width=surface.width-plotOffset.left-plotOffset.right+axis.labelWidth}else{axis.box.top=plotOffset.top-axis.labelHeight/2;axis.box.height=surface.height-plotOffset.bottom-plotOffset.top+axis.labelHeight}}function adjustLayoutForThingsStickingOut(){var minMargin=options.grid.minBorderMargin,margins={x:0,y:0},i,axis;if(minMargin==null){minMargin=0;for(i=0;i<series.length;++i){minMargin=Math.max(minMargin,2*(series[i].points.radius+series[i].points.lineWidth/2))}}margins.x=margins.y=Math.ceil(minMargin);$.each(allAxes(),function(_,axis){var dir=axis.direction;if(axis.reserveSpace){margins[dir]=Math.ceil(Math.max(margins[dir],(dir=="x"?axis.labelWidth:axis.labelHeight)/2))}});plotOffset.left=Math.max(margins.x,plotOffset.left);plotOffset.right=Math.max(margins.x,plotOffset.right);plotOffset.top=Math.max(margins.y,plotOffset.top);plotOffset.bottom=Math.max(margins.y,plotOffset.bottom)}function setupGrid(){var i,axes=allAxes(),showGrid=options.grid.show;for(var a in plotOffset){var margin=options.grid.margin||0;plotOffset[a]=typeof margin=="number"?margin:margin[a]||0}executeHooks(hooks.processOffset,[plotOffset]);for(var a in plotOffset){if(typeof(options.grid.borderWidth)=="object"){plotOffset[a]+=showGrid?options.grid.borderWidth[a]:0}else{plotOffset[a]+=showGrid?options.grid.borderWidth:0}}$.each(axes,function(_,axis){axis.show=axis.options.show;if(axis.show==null){axis.show=axis.used}axis.reserveSpace=axis.show||axis.options.reserveSpace;setRange(axis)});if(showGrid){var allocatedAxes=$.grep(axes,function(axis){return axis.reserveSpace});$.each(allocatedAxes,function(_,axis){setupTickGeneration(axis);setTicks(axis);snapRangeToTicks(axis,axis.ticks);measureTickLabels(axis)});for(i=allocatedAxes.length-1;i>=0;--i){allocateAxisBoxFirstPhase(allocatedAxes[i])}adjustLayoutForThingsStickingOut();$.each(allocatedAxes,function(_,axis){allocateAxisBoxSecondPhase(axis)})}plotWidth=surface.width-plotOffset.left-plotOffset.right;plotHeight=surface.height-plotOffset.bottom-plotOffset.top;$.each(axes,function(_,axis){setTransformationHelpers(axis)});if(showGrid){drawAxisLabels()}insertLegend()}function setRange(axis){var opts=axis.options,min=+(opts.min!=null?opts.min:axis.datamin),max=+(opts.max!=null?opts.max:axis.datamax),delta=max-min;if(delta==0){var widen=max==0?1:0.01;if(opts.min==null){min-=widen}if(opts.max==null||opts.min!=null){max+=widen}}else{var margin=opts.autoscaleMargin;if(margin!=null){if(opts.min==null){min-=delta*margin;if(min<0&&axis.datamin!=null&&axis.datamin>=0){min=0}}if(opts.max==null){max+=delta*margin;if(max>0&&axis.datamax!=null&&axis.datamax<=0){max=0}}}}axis.min=min;axis.max=max}function setupTickGeneration(axis){var opts=axis.options;var noTicks;if(typeof opts.ticks=="number"&&opts.ticks>0){noTicks=opts.ticks}else{noTicks=0.3*Math.sqrt(axis.direction=="x"?surface.width:surface.height)}var delta=(axis.max-axis.min)/noTicks,dec=-Math.floor(Math.log(delta)/Math.LN10),maxDec=opts.tickDecimals;if(maxDec!=null&&dec>maxDec){dec=maxDec}var magn=Math.pow(10,-dec),norm=delta/magn,size;if(norm<1.5){size=1}else{if(norm<3){size=2;if(norm>2.25&&(maxDec==null||dec+1<=maxDec)){size=2.5;++dec}}else{if(norm<7.5){size=5}else{size=10}}}size*=magn;if(opts.minTickSize!=null&&size<opts.minTickSize){size=opts.minTickSize}axis.delta=delta;axis.tickDecimals=Math.max(0,maxDec!=null?maxDec:dec);axis.tickSize=opts.tickSize||size;if(opts.mode=="time"&&!axis.tickGenerator){throw new Error("Time mode requires the flot.time plugin.")}if(!axis.tickGenerator){axis.tickGenerator=function(axis){var ticks=[],start=floorInBase(axis.min,axis.tickSize),i=0,v=Number.NaN,prev;do{prev=v;v=start+i*axis.tickSize;ticks.push(v);++i}while(v<axis.max&&v!=prev);return ticks};axis.tickFormatter=function(value,axis){var factor=axis.tickDecimals?Math.pow(10,axis.tickDecimals):1;var formatted=""+Math.round(value*factor)/factor;if(axis.tickDecimals!=null){var decimal=formatted.indexOf(".");var precision=decimal==-1?0:formatted.length-decimal-1;if(precision<axis.tickDecimals){return(precision?formatted:formatted+".")+(""+factor).substr(1,axis.tickDecimals-precision)}}return formatted}}if($.isFunction(opts.tickFormatter)){axis.tickFormatter=function(v,axis){return""+opts.tickFormatter(v,axis)}}if(opts.alignTicksWithAxis!=null){var otherAxis=(axis.direction=="x"?xaxes:yaxes)[opts.alignTicksWithAxis-1];if(otherAxis&&otherAxis.used&&otherAxis!=axis){var niceTicks=axis.tickGenerator(axis);if(niceTicks.length>0){if(opts.min==null){axis.min=Math.min(axis.min,niceTicks[0])}if(opts.max==null&&niceTicks.length>1){axis.max=Math.max(axis.max,niceTicks[niceTicks.length-1])}}axis.tickGenerator=function(axis){var ticks=[],v,i;for(i=0;i<otherAxis.ticks.length;++i){v=(otherAxis.ticks[i].v-otherAxis.min)/(otherAxis.max-otherAxis.min);v=axis.min+v*(axis.max-axis.min);ticks.push(v)}return ticks};if(!axis.mode&&opts.tickDecimals==null){var extraDec=Math.max(0,-Math.floor(Math.log(axis.delta)/Math.LN10)+1),ts=axis.tickGenerator(axis);if(!(ts.length>1&&/\..*0$/.test((ts[1]-ts[0]).toFixed(extraDec)))){axis.tickDecimals=extraDec}}}}}function setTicks(axis){var oticks=axis.options.ticks,ticks=[];if(oticks==null||(typeof oticks=="number"&&oticks>0)){ticks=axis.tickGenerator(axis)}else{if(oticks){if($.isFunction(oticks)){ticks=oticks(axis)}else{ticks=oticks}}}var i,v;axis.ticks=[];for(i=0;i<ticks.length;++i){var label=null;var t=ticks[i];if(typeof t=="object"){v=+t[0];if(t.length>1){label=t[1]}}else{v=+t}if(label==null){label=axis.tickFormatter(v,axis)}if(!isNaN(v)){axis.ticks.push({v:v,label:label})}}}function snapRangeToTicks(axis,ticks){if(axis.options.autoscaleMargin&&ticks.length>0){if(axis.options.min==null){axis.min=Math.min(axis.min,ticks[0].v)}if(axis.options.max==null&&ticks.length>1){axis.max=Math.max(axis.max,ticks[ticks.length-1].v)}}}function draw(){surface.clear();executeHooks(hooks.drawBackground,[ctx]);var grid=options.grid;if(grid.show&&grid.backgroundColor){drawBackground()}if(grid.show&&!grid.aboveData){drawGrid()}for(var i=0;i<series.length;++i){executeHooks(hooks.drawSeries,[ctx,series[i]]);drawSeries(series[i])}executeHooks(hooks.draw,[ctx]);if(grid.show&&grid.aboveData){drawGrid()}surface.render();triggerRedrawOverlay()}function extractRange(ranges,coord){var axis,from,to,key,axes=allAxes();for(var i=0;i<axes.length;++i){axis=axes[i];if(axis.direction==coord){key=coord+axis.n+"axis";if(!ranges[key]&&axis.n==1){key=coord+"axis"}if(ranges[key]){from=ranges[key].from;to=ranges[key].to;break}}}if(!ranges[key]){axis=coord=="x"?xaxes[0]:yaxes[0];from=ranges[coord+"1"];to=ranges[coord+"2"]}if(from!=null&&to!=null&&from>to){var tmp=from;from=to;to=tmp}return{from:from,to:to,axis:axis}}function drawBackground(){ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.fillStyle=getColorOrGradient(options.grid.backgroundColor,plotHeight,0,"rgba(255, 255, 255, 0)");ctx.fillRect(0,0,plotWidth,plotHeight);ctx.restore()}function drawGrid(){var i,axes,bw,bc;ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var markings=options.grid.markings;if(markings){if($.isFunction(markings)){axes=plot.getAxes();axes.xmin=axes.xaxis.min;axes.xmax=axes.xaxis.max;axes.ymin=axes.yaxis.min;axes.ymax=axes.yaxis.max;markings=markings(axes)}for(i=0;i<markings.length;++i){var m=markings[i],xrange=extractRange(m,"x"),yrange=extractRange(m,"y");if(xrange.from==null){xrange.from=xrange.axis.min}if(xrange.to==null){xrange.to=xrange.axis.max}if(yrange.from==null){yrange.from=yrange.axis.min}if(yrange.to==null){yrange.to=yrange.axis.max}if(xrange.to<xrange.axis.min||xrange.from>xrange.axis.max||yrange.to<yrange.axis.min||yrange.from>yrange.axis.max){continue}xrange.from=Math.max(xrange.from,xrange.axis.min);xrange.to=Math.min(xrange.to,xrange.axis.max);yrange.from=Math.max(yrange.from,yrange.axis.min);yrange.to=Math.min(yrange.to,yrange.axis.max);if(xrange.from==xrange.to&&yrange.from==yrange.to){continue}xrange.from=xrange.axis.p2c(xrange.from);xrange.to=xrange.axis.p2c(xrange.to);yrange.from=yrange.axis.p2c(yrange.from);yrange.to=yrange.axis.p2c(yrange.to);if(xrange.from==xrange.to||yrange.from==yrange.to){ctx.beginPath();ctx.strokeStyle=m.color||options.grid.markingsColor;ctx.lineWidth=m.lineWidth||options.grid.markingsLineWidth;ctx.moveTo(xrange.from,yrange.from);ctx.lineTo(xrange.to,yrange.to);ctx.stroke()}else{ctx.fillStyle=m.color||options.grid.markingsColor;ctx.fillRect(xrange.from,yrange.to,xrange.to-xrange.from,yrange.from-yrange.to)}}}axes=allAxes();bw=options.grid.borderWidth;for(var j=0;j<axes.length;++j){var axis=axes[j],box=axis.box,t=axis.tickLength,x,y,xoff,yoff;if(!axis.show||axis.ticks.length==0){continue}ctx.lineWidth=1;if(axis.direction=="x"){x=0;if(t=="full"){y=(axis.position=="top"?0:plotHeight)}else{y=box.top-plotOffset.top+(axis.position=="top"?box.height:0)}}else{y=0;if(t=="full"){x=(axis.position=="left"?0:plotWidth)}else{x=box.left-plotOffset.left+(axis.position=="left"?box.width:0)}}if(!axis.innermost){ctx.strokeStyle=axis.options.color;ctx.beginPath();xoff=yoff=0;if(axis.direction=="x"){xoff=plotWidth+1}else{yoff=plotHeight+1}if(ctx.lineWidth==1){if(axis.direction=="x"){y=Math.floor(y)+0.5}else{x=Math.floor(x)+0.5}}ctx.moveTo(x,y);ctx.lineTo(x+xoff,y+yoff);ctx.stroke()}ctx.strokeStyle=axis.options.tickColor;ctx.beginPath();for(i=0;i<axis.ticks.length;++i){var v=axis.ticks[i].v;xoff=yoff=0;if(isNaN(v)||v<axis.min||v>axis.max||(t=="full"&&((typeof bw=="object"&&bw[axis.position]>0)||bw>0)&&(v==axis.min||v==axis.max))){continue}if(axis.direction=="x"){x=axis.p2c(v);yoff=t=="full"?-plotHeight:t;if(axis.position=="top"){yoff=-yoff}}else{y=axis.p2c(v);xoff=t=="full"?-plotWidth:t;if(axis.position=="left"){xoff=-xoff}}if(ctx.lineWidth==1){if(axis.direction=="x"){x=Math.floor(x)+0.5}else{y=Math.floor(y)+0.5}}ctx.moveTo(x,y);ctx.lineTo(x+xoff,y+yoff)}ctx.stroke()}if(bw){bc=options.grid.borderColor;if(typeof bw=="object"||typeof bc=="object"){if(typeof bw!=="object"){bw={top:bw,right:bw,bottom:bw,left:bw}}if(typeof bc!=="object"){bc={top:bc,right:bc,bottom:bc,left:bc}}if(bw.top>0){ctx.strokeStyle=bc.top;ctx.lineWidth=bw.top;ctx.beginPath();ctx.moveTo(0-bw.left,0-bw.top/2);ctx.lineTo(plotWidth,0-bw.top/2);ctx.stroke()}if(bw.right>0){ctx.strokeStyle=bc.right;ctx.lineWidth=bw.right;ctx.beginPath();ctx.moveTo(plotWidth+bw.right/2,0-bw.top);ctx.lineTo(plotWidth+bw.right/2,plotHeight);ctx.stroke()}if(bw.bottom>0){ctx.strokeStyle=bc.bottom;ctx.lineWidth=bw.bottom;ctx.beginPath();ctx.moveTo(plotWidth+bw.right,plotHeight+bw.bottom/2);ctx.lineTo(0,plotHeight+bw.bottom/2);ctx.stroke()}if(bw.left>0){ctx.strokeStyle=bc.left;ctx.lineWidth=bw.left;ctx.beginPath();ctx.moveTo(0-bw.left/2,plotHeight+bw.bottom);ctx.lineTo(0-bw.left/2,0);ctx.stroke()}}else{ctx.lineWidth=bw;ctx.strokeStyle=options.grid.borderColor;ctx.strokeRect(-bw/2,-bw/2,plotWidth+bw,plotHeight+bw)}}ctx.restore()}function drawAxisLabels(){$.each(allAxes(),function(_,axis){var box=axis.box,legacyStyles=axis.direction+"Axis "+axis.direction+axis.n+"Axis",layer="flot-"+axis.direction+"-axis flot-"+axis.direction+axis.n+"-axis "+legacyStyles,font=axis.options.font||"flot-tick-label tickLabel",tick,x,y,halign,valign;surface.removeText(layer);if(!axis.show||axis.ticks.length==0){return}for(var i=0;i<axis.ticks.length;++i){tick=axis.ticks[i];if(!tick.label||tick.v<axis.min||tick.v>axis.max){continue}if(axis.direction=="x"){halign="center";x=plotOffset.left+axis.p2c(tick.v);if(axis.position=="bottom"){y=box.top+box.padding}else{y=box.top+box.height-box.padding;valign="bottom"}}else{valign="middle";y=plotOffset.top+axis.p2c(tick.v);if(axis.position=="left"){x=box.left+box.width-box.padding;halign="right"}else{x=box.left+box.padding}}surface.addText(layer,x,y,tick.label,font,null,null,halign,valign)}})}function drawSeries(series){if(series.lines.show){drawSeriesLines(series)}if(series.bars.show){drawSeriesBars(series)}if(series.points.show){drawSeriesPoints(series)}}function drawSeriesLines(series){function plotLine(datapoints,xoffset,yoffset,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize,prevx=null,prevy=null;ctx.beginPath();for(var i=ps;i<points.length;i+=ps){var x1=points[i-ps],y1=points[i-ps+1],x2=points[i],y2=points[i+1];if(x1==null||x2==null){continue}if(y1<=y2&&y1<axisy.min){if(y2<axisy.min){continue}x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else{if(y2<=y1&&y2<axisy.min){if(y1<axisy.min){continue}x2=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.min}}if(y1>=y2&&y1>axisy.max){if(y2>axisy.max){continue}x1=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.max}else{if(y2>=y1&&y2>axisy.max){if(y1>axisy.max){continue}x2=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.max}}if(x1<=x2&&x1<axisx.min){if(x2<axisx.min){continue}y1=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.min}else{if(x2<=x1&&x2<axisx.min){if(x1<axisx.min){continue}y2=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.min}}if(x1>=x2&&x1>axisx.max){if(x2>axisx.max){continue}y1=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.max}else{if(x2>=x1&&x2>axisx.max){if(x1>axisx.max){continue}y2=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.max}}if(x1!=prevx||y1!=prevy){ctx.moveTo(axisx.p2c(x1)+xoffset,axisy.p2c(y1)+yoffset)}prevx=x2;prevy=y2;ctx.lineTo(axisx.p2c(x2)+xoffset,axisy.p2c(y2)+yoffset)}ctx.stroke()}function plotLineArea(datapoints,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize,bottom=Math.min(Math.max(0,axisy.min),axisy.max),i=0,top,areaOpen=false,ypos=1,segmentStart=0,segmentEnd=0;while(true){if(ps>0&&i>points.length+ps){break}i+=ps;var x1=points[i-ps],y1=points[i-ps+ypos],x2=points[i],y2=points[i+ypos];if(areaOpen){if(ps>0&&x1!=null&&x2==null){segmentEnd=i;ps=-ps;ypos=2;continue}if(ps<0&&i==segmentStart+ps){ctx.fill();areaOpen=false;ps=-ps;ypos=1;i=segmentStart=segmentEnd+ps;continue}}if(x1==null||x2==null){continue}if(x1<=x2&&x1<axisx.min){if(x2<axisx.min){continue}y1=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.min}else{if(x2<=x1&&x2<axisx.min){if(x1<axisx.min){continue}y2=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.min}}if(x1>=x2&&x1>axisx.max){if(x2>axisx.max){continue}y1=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.max}else{if(x2>=x1&&x2>axisx.max){if(x1>axisx.max){continue}y2=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.max}}if(!areaOpen){ctx.beginPath();ctx.moveTo(axisx.p2c(x1),axisy.p2c(bottom));areaOpen=true}if(y1>=axisy.max&&y2>=axisy.max){ctx.lineTo(axisx.p2c(x1),axisy.p2c(axisy.max));ctx.lineTo(axisx.p2c(x2),axisy.p2c(axisy.max));continue}else{if(y1<=axisy.min&&y2<=axisy.min){ctx.lineTo(axisx.p2c(x1),axisy.p2c(axisy.min));ctx.lineTo(axisx.p2c(x2),axisy.p2c(axisy.min));continue}}var x1old=x1,x2old=x2;if(y1<=y2&&y1<axisy.min&&y2>=axisy.min){x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else{if(y2<=y1&&y2<axisy.min&&y1>=axisy.min){x2=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.min}}if(y1>=y2&&y1>axisy.max&&y2<=axisy.max){x1=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.max}else{if(y2>=y1&&y2>axisy.max&&y1<=axisy.max){x2=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.max}}if(x1!=x1old){ctx.lineTo(axisx.p2c(x1old),axisy.p2c(y1))}ctx.lineTo(axisx.p2c(x1),axisy.p2c(y1));ctx.lineTo(axisx.p2c(x2),axisy.p2c(y2));if(x2!=x2old){ctx.lineTo(axisx.p2c(x2),axisy.p2c(y2));ctx.lineTo(axisx.p2c(x2old),axisy.p2c(y2))}}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.lineJoin="round";var lw=series.lines.lineWidth,sw=series.shadowSize;if(lw>0&&sw>0){ctx.lineWidth=sw;ctx.strokeStyle="rgba(0,0,0,0.1)";var angle=Math.PI/18;plotLine(series.datapoints,Math.sin(angle)*(lw/2+sw/2),Math.cos(angle)*(lw/2+sw/2),series.xaxis,series.yaxis);ctx.lineWidth=sw/2;plotLine(series.datapoints,Math.sin(angle)*(lw/2+sw/4),Math.cos(angle)*(lw/2+sw/4),series.xaxis,series.yaxis)}ctx.lineWidth=lw;ctx.strokeStyle=series.color;var fillStyle=getFillStyle(series.lines,series.color,0,plotHeight);if(fillStyle){ctx.fillStyle=fillStyle;plotLineArea(series.datapoints,series.xaxis,series.yaxis)}if(lw>0){plotLine(series.datapoints,0,0,series.xaxis,series.yaxis)}ctx.restore()}function drawSeriesPoints(series){function plotPoints(datapoints,radius,fillStyle,offset,shadow,axisx,axisy,symbol){var points=datapoints.points,ps=datapoints.pointsize;for(var i=0;i<points.length;i+=ps){var x=points[i],y=points[i+1];if(x==null||x<axisx.min||x>axisx.max||y<axisy.min||y>axisy.max){continue}ctx.beginPath();x=axisx.p2c(x);y=axisy.p2c(y)+offset;if(symbol=="circle"){ctx.arc(x,y,radius,0,shadow?Math.PI:Math.PI*2,false)}else{symbol(ctx,x,y,radius,shadow)}ctx.closePath();if(fillStyle){ctx.fillStyle=fillStyle;ctx.fill()}ctx.stroke()}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var lw=series.points.lineWidth,sw=series.shadowSize,radius=series.points.radius,symbol=series.points.symbol;if(lw==0){lw=0.0001}if(lw>0&&sw>0){var w=sw/2;ctx.lineWidth=w;ctx.strokeStyle="rgba(0,0,0,0.1)";plotPoints(series.datapoints,radius,null,w+w/2,true,series.xaxis,series.yaxis,symbol);ctx.strokeStyle="rgba(0,0,0,0.2)";plotPoints(series.datapoints,radius,null,w/2,true,series.xaxis,series.yaxis,symbol)}ctx.lineWidth=lw;ctx.strokeStyle=series.color;plotPoints(series.datapoints,radius,getFillStyle(series.points,series.color),0,false,series.xaxis,series.yaxis,symbol);ctx.restore()}function drawBar(x,y,b,barLeft,barRight,fillStyleCallback,axisx,axisy,c,horizontal,lineWidth){var left,right,bottom,top,drawLeft,drawRight,drawTop,drawBottom,tmp;if(horizontal){drawBottom=drawRight=drawTop=true;drawLeft=false;left=b;right=x;top=y+barLeft;bottom=y+barRight;if(right<left){tmp=right;right=left;left=tmp;drawLeft=true;drawRight=false}}else{drawLeft=drawRight=drawTop=true;drawBottom=false;left=x+barLeft;right=x+barRight;bottom=b;top=y;if(top<bottom){tmp=top;top=bottom;bottom=tmp;drawBottom=true;drawTop=false}}if(right<axisx.min||left>axisx.max||top<axisy.min||bottom>axisy.max){return}if(left<axisx.min){left=axisx.min;drawLeft=false}if(right>axisx.max){right=axisx.max;drawRight=false}if(bottom<axisy.min){bottom=axisy.min;drawBottom=false}if(top>axisy.max){top=axisy.max;drawTop=false}left=axisx.p2c(left);bottom=axisy.p2c(bottom);right=axisx.p2c(right);top=axisy.p2c(top);if(fillStyleCallback){c.fillStyle=fillStyleCallback(bottom,top);c.fillRect(left,top,right-left,bottom-top)}if(lineWidth>0&&(drawLeft||drawRight||drawTop||drawBottom)){c.beginPath();c.moveTo(left,bottom);if(drawLeft){c.lineTo(left,top)}else{c.moveTo(left,top)}if(drawTop){c.lineTo(right,top)}else{c.moveTo(right,top)}if(drawRight){c.lineTo(right,bottom)}else{c.moveTo(right,bottom)}if(drawBottom){c.lineTo(left,bottom)}else{c.moveTo(left,bottom)}c.stroke()}}function drawSeriesBars(series){function plotBars(datapoints,barLeft,barRight,fillStyleCallback,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize;for(var i=0;i<points.length;i+=ps){if(points[i]==null){continue}drawBar(points[i],points[i+1],points[i+2],barLeft,barRight,fillStyleCallback,axisx,axisy,ctx,series.bars.horizontal,series.bars.lineWidth)}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.lineWidth=series.bars.lineWidth;ctx.strokeStyle=series.color;var barLeft;switch(series.bars.align){case"left":barLeft=0;break;case"right":barLeft=-series.bars.barWidth;break;default:barLeft=-series.bars.barWidth/2}var fillStyleCallback=series.bars.fill?function(bottom,top){return getFillStyle(series.bars,series.color,bottom,top)}:null;plotBars(series.datapoints,barLeft,barLeft+series.bars.barWidth,fillStyleCallback,series.xaxis,series.yaxis);ctx.restore()}function getFillStyle(filloptions,seriesColor,bottom,top){var fill=filloptions.fill;if(!fill){return null}if(filloptions.fillColor){return getColorOrGradient(filloptions.fillColor,bottom,top,seriesColor)}var c=$.color.parse(seriesColor);c.a=typeof fill=="number"?fill:0.4;c.normalize();return c.toString()}function insertLegend(){placeholder.find(".legend").remove();if(!options.legend.show){return}var fragments=[],entries=[],rowStarted=false,lf=options.legend.labelFormatter,s,label;for(var i=0;i<series.length;++i){s=series[i];if(s.label){label=lf?lf(s.label,s):s.label;if(label){entries.push({label:label,color:s.color})}}}if(options.legend.sorted){if($.isFunction(options.legend.sorted)){entries.sort(options.legend.sorted)}else{if(options.legend.sorted=="reverse"){entries.reverse()}else{var ascending=options.legend.sorted!="descending";entries.sort(function(a,b){return a.label==b.label?0:((a.label<b.label)!=ascending?1:-1)})}}}for(var i=0;i<entries.length;++i){var entry=entries[i];if(i%options.legend.noColumns==0){if(rowStarted){fragments.push("</tr>")}fragments.push("<tr>");rowStarted=true}fragments.push('<td class="legendColorBox"><div style="border:1px solid '+options.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+entry.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+entry.label+"</td>")}if(rowStarted){fragments.push("</tr>")}if(fragments.length==0){return}var table='<table style="font-size:smaller;color:'+options.grid.color+'">'+fragments.join("")+"</table>";if(options.legend.container!=null){$(options.legend.container).html(table)}else{var pos="",p=options.legend.position,m=options.legend.margin;if(m[0]==null){m=[m,m]}if(p.charAt(0)=="n"){pos+="top:"+(m[1]+plotOffset.top)+"px;"}else{if(p.charAt(0)=="s"){pos+="bottom:"+(m[1]+plotOffset.bottom)+"px;"}}if(p.charAt(1)=="e"){pos+="right:"+(m[0]+plotOffset.right)+"px;"}else{if(p.charAt(1)=="w"){pos+="left:"+(m[0]+plotOffset.left)+"px;"}}var legend=$('<div class="legend">'+table.replace('style="','style="position:absolute;'+pos+";")+"</div>").appendTo(placeholder);if(options.legend.backgroundOpacity!=0){var c=options.legend.backgroundColor;if(c==null){c=options.grid.backgroundColor;if(c&&typeof c=="string"){c=$.color.parse(c)}else{c=$.color.extract(legend,"background-color")}c.a=1;c=c.toString()}var div=legend.children();$('<div style="position:absolute;width:'+div.width()+"px;height:"+div.height()+"px;"+pos+"background-color:"+c+';"> </div>').prependTo(legend).css("opacity",options.legend.backgroundOpacity)}}}var highlights=[],redrawTimeout=null;function findNearbyItem(mouseX,mouseY,seriesFilter){var maxDistance=options.grid.mouseActiveRadius,smallestDistance=maxDistance*maxDistance+1,item=null,foundPoint=false,i,j,ps;for(i=series.length-1;i>=0;--i){if(!seriesFilter(series[i])){continue}var s=series[i],axisx=s.xaxis,axisy=s.yaxis,points=s.datapoints.points,mx=axisx.c2p(mouseX),my=axisy.c2p(mouseY),maxx=maxDistance/axisx.scale,maxy=maxDistance/axisy.scale;ps=s.datapoints.pointsize;if(axisx.options.inverseTransform){maxx=Number.MAX_VALUE}if(axisy.options.inverseTransform){maxy=Number.MAX_VALUE}if(s.lines.show||s.points.show){for(j=0;j<points.length;j+=ps){var x=points[j],y=points[j+1];if(x==null){continue}if(x-mx>maxx||x-mx<-maxx||y-my>maxy||y-my<-maxy){continue}var dx=Math.abs(axisx.p2c(x)-mouseX),dy=Math.abs(axisy.p2c(y)-mouseY),dist=dx*dx+dy*dy;if(dist<smallestDistance){smallestDistance=dist;item=[i,j/ps]}}}if(s.bars.show&&!item){var barLeft,barRight;switch(s.bars.align){case"left":barLeft=0;break;case"right":barLeft=-s.bars.barWidth;break;default:barLeft=-s.bars.barWidth/2}barRight=barLeft+s.bars.barWidth;for(j=0;j<points.length;j+=ps){var x=points[j],y=points[j+1],b=points[j+2];if(x==null){continue}if(series[i].bars.horizontal?(mx<=Math.max(b,x)&&mx>=Math.min(b,x)&&my>=y+barLeft&&my<=y+barRight):(mx>=x+barLeft&&mx<=x+barRight&&my>=Math.min(b,y)&&my<=Math.max(b,y))){item=[i,j/ps]}}}}if(item){i=item[0];j=item[1];ps=series[i].datapoints.pointsize;return{datapoint:series[i].datapoints.points.slice(j*ps,(j+1)*ps),dataIndex:j,series:series[i],seriesIndex:i}}return null}function onMouseMove(e){if(options.grid.hoverable){triggerClickHoverEvent("plothover",e,function(s){return s.hoverable!=false})}}function onMouseLeave(e){if(options.grid.hoverable){triggerClickHoverEvent("plothover",e,function(s){return false})}}function onClick(e){triggerClickHoverEvent("plotclick",e,function(s){return s.clickable!=false})}function triggerClickHoverEvent(eventname,event,seriesFilter){var offset=eventHolder.offset(),canvasX=event.pageX-offset.left-plotOffset.left,canvasY=event.pageY-offset.top-plotOffset.top,pos=canvasToAxisCoords({left:canvasX,top:canvasY});pos.pageX=event.pageX;pos.pageY=event.pageY;var item=findNearbyItem(canvasX,canvasY,seriesFilter);if(item){item.pageX=parseInt(item.series.xaxis.p2c(item.datapoint[0])+offset.left+plotOffset.left,10);item.pageY=parseInt(item.series.yaxis.p2c(item.datapoint[1])+offset.top+plotOffset.top,10)}if(options.grid.autoHighlight){for(var i=0;i<highlights.length;++i){var h=highlights[i];if(h.auto==eventname&&!(item&&h.series==item.series&&h.point[0]==item.datapoint[0]&&h.point[1]==item.datapoint[1])){unhighlight(h.series,h.point)}}if(item){highlight(item.series,item.datapoint,eventname)}}placeholder.trigger(eventname,[pos,item])}function triggerRedrawOverlay(){var t=options.interaction.redrawOverlayInterval;if(t==-1){drawOverlay();return}if(!redrawTimeout){redrawTimeout=setTimeout(drawOverlay,t)}}function drawOverlay(){redrawTimeout=null;octx.save();overlay.clear();octx.translate(plotOffset.left,plotOffset.top);var i,hi;for(i=0;i<highlights.length;++i){hi=highlights[i];if(hi.series.bars.show){drawBarHighlight(hi.series,hi.point)}else{drawPointHighlight(hi.series,hi.point)}}octx.restore();executeHooks(hooks.drawOverlay,[octx])}function highlight(s,point,auto){if(typeof s=="number"){s=series[s]}if(typeof point=="number"){var ps=s.datapoints.pointsize;point=s.datapoints.points.slice(ps*point,ps*(point+1))}var i=indexOfHighlight(s,point);if(i==-1){highlights.push({series:s,point:point,auto:auto});triggerRedrawOverlay()}else{if(!auto){highlights[i].auto=false}}}function unhighlight(s,point){if(s==null&&point==null){highlights=[];triggerRedrawOverlay();return}if(typeof s=="number"){s=series[s]}if(typeof point=="number"){var ps=s.datapoints.pointsize;point=s.datapoints.points.slice(ps*point,ps*(point+1))}var i=indexOfHighlight(s,point);if(i!=-1){highlights.splice(i,1);triggerRedrawOverlay()}}function indexOfHighlight(s,p){for(var i=0;i<highlights.length;++i){var h=highlights[i];if(h.series==s&&h.point[0]==p[0]&&h.point[1]==p[1]){return i}}return -1}function drawPointHighlight(series,point){var x=point[0],y=point[1],axisx=series.xaxis,axisy=series.yaxis,highlightColor=(typeof series.highlightColor==="string")?series.highlightColor:$.color.parse(series.color).scale("a",0.5).toString();if(x<axisx.min||x>axisx.max||y<axisy.min||y>axisy.max){return}var pointRadius=series.points.radius+series.points.lineWidth/2;octx.lineWidth=pointRadius;octx.strokeStyle=highlightColor;var radius=1.5*pointRadius;x=axisx.p2c(x);y=axisy.p2c(y);octx.beginPath();if(series.points.symbol=="circle"){octx.arc(x,y,radius,0,2*Math.PI,false)}else{series.points.symbol(octx,x,y,radius,false)}octx.closePath();octx.stroke()}function drawBarHighlight(series,point){var highlightColor=(typeof series.highlightColor==="string")?series.highlightColor:$.color.parse(series.color).scale("a",0.5).toString(),fillStyle=highlightColor,barLeft;switch(series.bars.align){case"left":barLeft=0;break;case"right":barLeft=-series.bars.barWidth;break;default:barLeft=-series.bars.barWidth/2}octx.lineWidth=series.bars.lineWidth;octx.strokeStyle=highlightColor;drawBar(point[0],point[1],point[2]||0,barLeft,barLeft+series.bars.barWidth,function(){return fillStyle},series.xaxis,series.yaxis,octx,series.bars.horizontal,series.bars.lineWidth)}function getColorOrGradient(spec,bottom,top,defaultColor){if(typeof spec=="string"){return spec}else{var gradient=ctx.createLinearGradient(0,top,0,bottom);for(var i=0,l=spec.colors.length;i<l;++i){var c=spec.colors[i];if(typeof c!="string"){var co=$.color.parse(defaultColor);if(c.brightness!=null){co=co.scale("rgb",c.brightness)}if(c.opacity!=null){co.a*=c.opacity}c=co.toString()}gradient.addColorStop(i/(l-1),c)}return gradient}}}$.plot=function(placeholder,data,options){var plot=new Plot($(placeholder),data,options,$.plot.plugins);return plot};$.plot.version="0.8.2-alpha";$.plot.plugins=[];$.fn.plot=function(data,options){return this.each(function(){$.plot(this,data,options)})};function floorInBase(n,base){return base*Math.floor(n/base)}})(jQuery); \ No newline at end of file
diff --git a/app/assets/javascripts/jquery.flot.tickrotor.js b/app/assets/javascripts/jquery.flot.tickrotor.js
new file mode 100644
index 000000000..404b2b0a7
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.tickrotor.js
@@ -0,0 +1,205 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is flot-tickrotor.
+ *
+ * The Initial Developer of the Original Code is
+ * the Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2011
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Mark Cote <mcote@mozilla.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+ * flot-tickrotor: flot plugin to display angled X-axis tick labels.
+ *
+ * Requires flot 0.7 or higher and a browser supporting <canvas>.
+ *
+ * To activate, just set xaxis.rotateTicks to an angle in degrees. Labels
+ * are rotated clockwise, so if you want the labels to angle up and to the right (/)
+ * you need to provide an angle > 90. The text will be flipped so that it is still
+ * right-side-up.
+ * Angles greater than or equal to 180 are ignored.
+ */
+(function ($) {
+ var options = { };
+
+ function init(plot) {
+ // Taken from flot-axislabels.
+ // This is kind of a hack. There are no hooks in Flot between
+ // the creation and measuring of the ticks (setTicks, measureTickLabels
+ // in setupGrid() ) and the drawing of the ticks and plot box
+ // (insertAxisLabels in setupGrid() ).
+ //
+ // Therefore, we use a trick where we run the draw routine twice:
+ // the first time to get the tick measurements, so that we can change
+ // them, and then have it draw it again.
+ var ticks = [];
+ var font;
+ var secondPass = false;
+ var rotateTicks, rotateTicksRads, radsAboveHoriz;
+ plot.hooks.draw.push(function (plot, ctx) {
+ if (!secondPass) {
+ var opts = plot.getAxes().xaxis.options;
+ if (opts.rotateTicks === undefined) {
+ return;
+ }
+
+ rotateTicks = parseInt(opts.rotateTicks, 10);
+ if (rotateTicks.toString() != opts.rotateTicks || rotateTicks == 0 || rotateTicks >= 180) {
+ return;
+ }
+
+ rotateTicksRads = rotateTicks * Math.PI/180;
+ if (rotateTicks > 90) {
+ radsAboveHoriz = Math.PI - rotateTicksRads;
+ } else {
+ radsAboveHoriz = Math.PI/2 - rotateTicksRads;
+ }
+
+ font = opts.rotateTicksFont;
+ if (!font) {
+ font = $('.tickLabel').css('font');
+ }
+ if (!font) {
+ font = 'smaller sans-serif';
+ }
+
+ var elem, maxLabelWidth = 0, maxLabelHeight = 0, minX = 0, maxX = 0;
+
+ var xaxis = plot.getAxes().xaxis;
+ ticks = plot.getAxes().xaxis.ticks;
+ opts.ticks = []; // we'll make our own
+
+ var x;
+ for (var i = 0; i < ticks.length; i++) {
+ elem = $('<span style="font:' + font + '">' + ticks[i].label + '</span>');
+ plot.getPlaceholder().append(elem);
+ ticks[i].height = elem.outerHeight(true);
+ ticks[i].width = elem.outerWidth(true);
+ elem.remove();
+ if (ticks[i].height > maxLabelHeight) {
+ maxLabelHeight = ticks[i].height;
+ }
+ if (ticks[i].width > maxLabelWidth) {
+ maxLabelWidth = ticks[i].width;
+ }
+ var tick = ticks[i];
+ // See second-draw code below for explanation of offsets.
+ if (rotateTicks > 90) {
+ // See if any labels are too long and require increased left
+ // padding.
+ x = Math.round(plot.getPlotOffset().left + xaxis.p2c(tick.v))
+ - Math.ceil(Math.cos(radsAboveHoriz) * tick.height)
+ - Math.ceil(Math.cos(radsAboveHoriz) * tick.width);
+ if (x < minX) {
+ minX = x;
+ }
+ } else {
+ // See if any labels are too long and require increased right
+ // padding.
+ x = Math.round(plot.getPlotOffset().left + xaxis.p2c(tick.v))
+ + Math.ceil(Math.cos(radsAboveHoriz) * tick.height)
+ + Math.ceil(Math.cos(radsAboveHoriz) * tick.width);
+ if (x > maxX) {
+ maxX = x;
+ }
+ }
+ }
+
+ // Calculate maximum label height after rotating.
+ if (rotateTicks > 90) {
+ var acuteRads = rotateTicksRads - Math.PI/2;
+ opts.labelHeight = Math.ceil(Math.sin(acuteRads) * maxLabelWidth)
+ + Math.ceil(Math.sin(acuteRads) * maxLabelHeight);
+ } else {
+ var acuteRads = Math.PI/2 - rotateTicksRads;
+ // Center such that the top of the label is at the center of the tick.
+ opts.labelHeight = Math.ceil(Math.sin(rotateTicksRads) * maxLabelWidth)
+ + Math.ceil(Math.sin(acuteRads) * maxLabelHeight);
+ }
+
+ if (minX < 0) {
+ plot.getAxes().yaxis.options.labelWidth = -1 * minX;
+ }
+
+ // Doesn't seem to work if there are no values using the second y axis.
+ //if (maxX > xaxis.box.left + xaxis.box.width) {
+ // plot.getAxes().y2axis.options.labelWidth = maxX - xaxis.box.left - xaxis.box.width;
+ //}
+
+ // re-draw with new label widths and heights
+ secondPass = true;
+ plot.setupGrid();
+ plot.draw();
+ } else {
+ if (ticks.length == 0) {
+ return;
+ }
+ var xaxis = plot.getAxes().xaxis;
+ var box = xaxis.box;
+ var tick, label, xoffset, yoffset;
+ for (var i = 0; i < ticks.length; i++) {
+ tick = ticks[i];
+ if (!tick.label) {
+ continue;
+ }
+ ctx.save();
+ ctx.font = font;
+ if (rotateTicks <= 90) {
+ // Center such that the top of the label is at the center of the tick.
+ xoffset = -Math.ceil(Math.cos(radsAboveHoriz) * tick.height);
+ yoffset = Math.ceil(Math.sin(radsAboveHoriz) * tick.height);
+ ctx.translate(Math.round(plot.getPlotOffset().left + xaxis.p2c(tick.v)) + xoffset,
+ box.top + box.padding + plot.getOptions().grid.labelMargin + yoffset);
+ ctx.rotate(rotateTicksRads);
+ } else {
+ // We want the text to facing up, so we have to rotate counterclockwise,
+ // which means the label has to *end* at the center of the tick.
+ xoffset = Math.ceil(Math.cos(radsAboveHoriz) * tick.height)
+ - Math.ceil(Math.cos(radsAboveHoriz) * tick.width);
+ yoffset = Math.ceil(Math.sin(radsAboveHoriz) * tick.width)
+ + Math.ceil(Math.sin(radsAboveHoriz) * tick.height);
+ ctx.translate(Math.round(plot.getPlotOffset().left + xaxis.p2c(tick.v) + xoffset),
+ box.top + box.padding + plot.getOptions().grid.labelMargin + yoffset);
+ ctx.rotate(-radsAboveHoriz);
+ }
+ ctx.fillText(tick.label, 0, 0);
+ ctx.restore();
+ }
+ }
+ });
+ }
+
+ $.plot.plugins.push({
+ init: init,
+ options: options,
+ name: 'tickRotor',
+ version: '1.0'
+ });
+})(jQuery);
diff --git a/app/assets/javascripts/jquery.flot.tickrotor.min.js b/app/assets/javascripts/jquery.flot.tickrotor.min.js
new file mode 100644
index 000000000..87fc79d10
--- /dev/null
+++ b/app/assets/javascripts/jquery.flot.tickrotor.min.js
@@ -0,0 +1 @@
+(function($){var options={};function init(plot){var ticks=[];var font;var secondPass=false;var rotateTicks,rotateTicksRads,radsAboveHoriz;plot.hooks.draw.push(function(plot,ctx){if(!secondPass){var opts=plot.getAxes().xaxis.options;if(opts.rotateTicks===undefined){return}rotateTicks=parseInt(opts.rotateTicks,10);if(rotateTicks.toString()!=opts.rotateTicks||rotateTicks==0||rotateTicks>=180){return}rotateTicksRads=rotateTicks*Math.PI/180;if(rotateTicks>90){radsAboveHoriz=Math.PI-rotateTicksRads}else{radsAboveHoriz=Math.PI/2-rotateTicksRads}font=opts.rotateTicksFont;if(!font){font=$(".tickLabel").css("font")}if(!font){font="smaller sans-serif"}var elem,maxLabelWidth=0,maxLabelHeight=0,minX=0,maxX=0;var xaxis=plot.getAxes().xaxis;ticks=plot.getAxes().xaxis.ticks;opts.ticks=[];var x;for(var i=0;i<ticks.length;i++){elem=$('<span style="font:'+font+'">'+ticks[i].label+"</span>");plot.getPlaceholder().append(elem);ticks[i].height=elem.outerHeight(true);ticks[i].width=elem.outerWidth(true);elem.remove();if(ticks[i].height>maxLabelHeight){maxLabelHeight=ticks[i].height}if(ticks[i].width>maxLabelWidth){maxLabelWidth=ticks[i].width}var tick=ticks[i];if(rotateTicks>90){x=Math.round(plot.getPlotOffset().left+xaxis.p2c(tick.v))-Math.ceil(Math.cos(radsAboveHoriz)*tick.height)-Math.ceil(Math.cos(radsAboveHoriz)*tick.width);if(x<minX){minX=x}}else{x=Math.round(plot.getPlotOffset().left+xaxis.p2c(tick.v))+Math.ceil(Math.cos(radsAboveHoriz)*tick.height)+Math.ceil(Math.cos(radsAboveHoriz)*tick.width);if(x>maxX){maxX=x}}}if(rotateTicks>90){var acuteRads=rotateTicksRads-Math.PI/2;opts.labelHeight=Math.ceil(Math.sin(acuteRads)*maxLabelWidth)+Math.ceil(Math.sin(acuteRads)*maxLabelHeight)}else{var acuteRads=Math.PI/2-rotateTicksRads;opts.labelHeight=Math.ceil(Math.sin(rotateTicksRads)*maxLabelWidth)+Math.ceil(Math.sin(acuteRads)*maxLabelHeight)}if(minX<0){plot.getAxes().yaxis.options.labelWidth=-1*minX}secondPass=true;plot.setupGrid();plot.draw()}else{if(ticks.length==0){return}var xaxis=plot.getAxes().xaxis;var box=xaxis.box;var tick,label,xoffset,yoffset;for(var i=0;i<ticks.length;i++){tick=ticks[i];if(!tick.label){continue}ctx.save();ctx.font=font;if(rotateTicks<=90){xoffset=-Math.ceil(Math.cos(radsAboveHoriz)*tick.height);yoffset=Math.ceil(Math.sin(radsAboveHoriz)*tick.height);ctx.translate(Math.round(plot.getPlotOffset().left+xaxis.p2c(tick.v))+xoffset,box.top+box.padding+plot.getOptions().grid.labelMargin+yoffset);ctx.rotate(rotateTicksRads)}else{xoffset=Math.ceil(Math.cos(radsAboveHoriz)*tick.height)-Math.ceil(Math.cos(radsAboveHoriz)*tick.width);yoffset=Math.ceil(Math.sin(radsAboveHoriz)*tick.width)+Math.ceil(Math.sin(radsAboveHoriz)*tick.height);ctx.translate(Math.round(plot.getPlotOffset().left+xaxis.p2c(tick.v)+xoffset),box.top+box.padding+plot.getOptions().grid.labelMargin+yoffset);ctx.rotate(-radsAboveHoriz)}ctx.fillText(tick.label,0,0);ctx.restore()}}})}$.plot.plugins.push({init:init,options:options,name:"tickRotor",version:"1.0"})})(jQuery); \ No newline at end of file
diff --git a/public/javascripts/jquery.form.js b/app/assets/javascripts/jquery.form.js
index bc0061418..bc0061418 100644
--- a/public/javascripts/jquery.form.js
+++ b/app/assets/javascripts/jquery.form.js
diff --git a/public/javascripts/jquery.js b/app/assets/javascripts/jquery.js
index 16ad06c5a..16ad06c5a 100644
--- a/public/javascripts/jquery.js
+++ b/app/assets/javascripts/jquery.js
diff --git a/public/javascripts/jquery_ujs.js b/app/assets/javascripts/jquery_ujs.js
index 50121d6ed..50121d6ed 100644
--- a/public/javascripts/jquery_ujs.js
+++ b/app/assets/javascripts/jquery_ujs.js
diff --git a/app/assets/javascripts/profile-photos.js b/app/assets/javascripts/profile-photos.js
new file mode 100644
index 000000000..c7ebe894d
--- /dev/null
+++ b/app/assets/javascripts/profile-photos.js
@@ -0,0 +1,3 @@
+// ...
+//= require jquery.Jcrop
+//= require profile_photo
diff --git a/public/javascripts/profile_photo.js b/app/assets/javascripts/profile_photo.js
index 6d637b439..6d637b439 100644
--- a/public/javascripts/profile_photo.js
+++ b/app/assets/javascripts/profile_photo.js
diff --git a/public/javascripts/stats-graphs.js b/app/assets/javascripts/stats-graphs.js
index 73e19a6fc..ff3d3a11a 100644
--- a/public/javascripts/stats-graphs.js
+++ b/app/assets/javascripts/stats-graphs.js
@@ -11,7 +11,8 @@ $(document).ready(function() {
dataset,
plot,
graph_data,
- graph_div = $('#' + graph_id);
+ graph_div = $('#' + graph_id),
+ previousPoint = null;
if (!graph_data.x_values) {
/* Then there's no data for this graph */
@@ -19,7 +20,7 @@ $(document).ready(function() {
}
graph_div.css('width', '700px');
- graph_div.css('height', '400px');
+ graph_div.css('height', '600px');
dataset = [
{'color': 'orange',
@@ -56,8 +57,10 @@ $(document).ready(function() {
}
options = {
+ 'grid': { 'hoverable': true, 'clickable': true },
'xaxis': {
'ticks': graph_data.x_ticks,
+ 'rotateTicks': 90
},
'yaxis': {
'min': 0,
@@ -83,5 +86,50 @@ $(document).ready(function() {
plot = $.plot(graph_div,
dataset,
options);
+
+ graph_div.bind("plotclick", function(event, pos, item) {
+ var i, pb, url, name;
+ if (item) {
+ i = item.dataIndex;
+ pb = graph_data.public_bodies[i];
+ url = pb.url;
+ name = pb.name;
+ window.location.href = url;
+ }
+ });
+
+ /* This code is adapted from:
+ http://www.flotcharts.org/flot/examples/interacting/ */
+
+ function showTooltip(x, y, contents) {
+ $('<div id="flot-tooltip">' + contents + '</div>').css({
+ 'position': 'absolute',
+ 'display': 'none',
+ 'top': y + 10,
+ 'left': x + 10,
+ 'border': '1px solid #fdd',
+ 'padding': '2px',
+ 'background-color': '#fee',
+ 'opacity': 0.80
+ }).appendTo("body").fadeIn(200);
+ }
+
+ graph_div.bind("plothover", function (event, pos, item) {
+ var escapedName, x, y;
+ if (item) {
+ if (previousPoint != item.dataIndex) {
+ previousPoint = item.dataIndex;
+ $("#flot-tooltip").remove();
+ escapedName = $('<div />').text(
+ graph_data.tooltips[item.dataIndex]).html();
+ showTooltip(item.pageX,
+ item.pageY,
+ escapedName);
+ }
+ } else {
+ $("#flot-tooltip").remove();
+ previousPoint = null;
+ }
+ });
});
});
diff --git a/app/assets/javascripts/stats.js b/app/assets/javascripts/stats.js
new file mode 100644
index 000000000..8c743ad87
--- /dev/null
+++ b/app/assets/javascripts/stats.js
@@ -0,0 +1,6 @@
+// ...
+//= require jquery.flot.min
+//= require jquery.flot.errorbars.min
+//= require jquery.flot.tickrotor.min
+//= require jquery.flot.axislabels
+//= require stats-graphs
diff --git a/app/sass/admin.scss b/app/assets/stylesheets/admin.scss
index 584b0d00d..584b0d00d 100644
--- a/app/sass/admin.scss
+++ b/app/assets/stylesheets/admin.scss
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
new file mode 100644
index 000000000..097221b2f
--- /dev/null
+++ b/app/assets/stylesheets/application.css
@@ -0,0 +1,7 @@
+/* ...
+*= require_self
+*= require main
+*= require custom
+*= require jquery.ui.datepicker
+*= require jquery.ui.tabs
+*/
diff --git a/app/assets/stylesheets/custom.css b/app/assets/stylesheets/custom.css
new file mode 100644
index 000000000..f1df5cca5
--- /dev/null
+++ b/app/assets/stylesheets/custom.css
@@ -0,0 +1,5 @@
+/* Themes will typically add a custom.css file with their own CSS.
+ This file is present to stop errors where THEME_URLS is empty,
+ since it is mentioned in the application.css manifest. Themes
+ should prepend their directories to the asset path so this will
+ be overriden by any custom.css in the theme. */
diff --git a/app/assets/stylesheets/fonts.scss b/app/assets/stylesheets/fonts.scss
new file mode 100644
index 000000000..2bfb8d222
--- /dev/null
+++ b/app/assets/stylesheets/fonts.scss
@@ -0,0 +1,73 @@
+
+@font-face {
+ font-family: 'DeliciousBold';
+ src: font-url('delicious-bold-webfont.eot');
+ src: font-url('delicious-bold-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-bold-webfont.woff') format('woff'),
+ font-url('delicious-bold-webfont.ttf') format('truetype'),
+ font-url('delicious-bold-webfont.svg#DeliciousBold') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousBoldItalic';
+ src: font-url('delicious-bolditalic-webfont.eot');
+ src: font-url('delicious-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-bolditalic-webfont.woff') format('woff'),
+ font-url('delicious-bolditalic-webfont.ttf') format('truetype'),
+ font-url('delicious-bolditalic-webfont.svg#DeliciousBoldItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousHeavyRegular';
+ src: font-url('delicious-heavy-webfont.eot');
+ src: font-url('delicious-heavy-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-heavy-webfont.woff') format('woff'),
+ font-url('delicious-heavy-webfont.ttf') format('truetype'),
+ font-url('delicious-heavy-webfont.svg#DeliciousHeavyRegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousItalic';
+ src: font-url('delicious-italic-webfont.eot');
+ src: font-url('delicious-italic-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-italic-webfont.woff') format('woff'),
+ font-url('delicious-italic-webfont.ttf') format('truetype'),
+ font-url('delicious-italic-webfont.svg#DeliciousItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousRoman';
+ src: font-url('delicious-roman-webfont.eot');
+ src: font-url('delicious-roman-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-roman-webfont.woff') format('woff'),
+ font-url('delicious-roman-webfont.ttf') format('truetype'),
+ font-url('delicious-roman-webfont.svg#DeliciousRoman') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousSmallCapsRegular';
+ src: font-url('delicious-smallcaps-webfont.eot');
+ src: font-url('delicious-smallcaps-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-smallcaps-webfont.woff') format('woff'),
+ font-url('delicious-smallcaps-webfont.ttf') format('truetype'),
+ font-url('delicious-smallcaps-webfont.svg#DeliciousSmallCapsRegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
diff --git a/public/stylesheets/ie6.css b/app/assets/stylesheets/ie6.css
index 5eff5fac9..5eff5fac9 100644
--- a/public/stylesheets/ie6.css
+++ b/app/assets/stylesheets/ie6.css
diff --git a/public/stylesheets/ie7.css b/app/assets/stylesheets/ie7.css
index c6e8fe4f2..c6e8fe4f2 100644
--- a/public/stylesheets/ie7.css
+++ b/app/assets/stylesheets/ie7.css
diff --git a/public/stylesheets/admin-theme/jquery-ui-1.8.15.custom.css b/app/assets/stylesheets/jquery-ui-1.8.15.custom.css
index ea0254a2b..386d854ff 100755
--- a/public/stylesheets/admin-theme/jquery-ui-1.8.15.custom.css
+++ b/app/assets/stylesheets/jquery-ui-1.8.15.custom.css
@@ -56,7 +56,7 @@
/* Component containers
----------------------------------*/
-.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: ; }
+.ui-widget { font-family: Verdana,Arial,sans-serif; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
diff --git a/public/stylesheets/jquery.Jcrop.css b/app/assets/stylesheets/jquery.Jcrop.css
index 24925dc94..24925dc94 100644
--- a/public/stylesheets/jquery.Jcrop.css
+++ b/app/assets/stylesheets/jquery.Jcrop.css
diff --git a/public/stylesheets/jquery.fancybox-1.3.4.css b/app/assets/stylesheets/jquery.fancybox-1.3.4.css
index 6f53d8f4a..6f53d8f4a 100755
--- a/public/stylesheets/jquery.fancybox-1.3.4.css
+++ b/app/assets/stylesheets/jquery.fancybox-1.3.4.css
diff --git a/public/stylesheets/main.css b/app/assets/stylesheets/main.scss
index 21d0735e0..625245cce 100644
--- a/public/stylesheets/main.css
+++ b/app/assets/stylesheets/main.scss
@@ -41,7 +41,7 @@ border-width:1px;
}
#navigation_search input#navigation_search_button {
-background: url(/images/search-button.png) no-repeat center center;
+background: image-url('search-button.png') no-repeat center center;
width: 27px;
height: 26px;
color: transparent;
@@ -252,7 +252,7 @@ padding:12px 0 0;
.request_listing span.head /* full page request list only */ {
min-height:32px;
-background-image:url(../images/navimg/request-icon.png);
+background-image:image-url('navimg/request-icon.png');
background-repeat:no-repeat;
background-position:4px 0;
margin:0 0 0.3em;
@@ -261,7 +261,7 @@ padding:8px 0 0 42px;
.body_listing span.head /* full page request list only */ {
min-height:32px;
-background-image:url(../images/navimg/auth-icon.png);
+background-image:image-url('navimg/auth-icon.png');
background-repeat:no-repeat;
background-position:4px 0;
margin:0 0 0.3em;
@@ -270,7 +270,7 @@ padding:8px 0 0 42px;
.user_listing span.head /* full page request list only */ {
min-height:32px;
-background-image:url(../images/navimg/user-icon.png);
+background-image:image-url('navimg/user-icon.png');
background-repeat:no-repeat;
background-position:4px 0;
margin:0 0 0.3em;
@@ -305,46 +305,46 @@ padding:8px 0 10px 42px;
}
.icon_waiting_response,.icon_waiting_classification,.icon_waiting_clarification {
-background-image:url(/images/status-pending.png);
+background-image:image-url('status-pending.png');
color:#A68C2E;
}
.icon_rejected {
-background-image:url(../images/navimg/status-icons-fail.png);
+background-image:image-url('navimg/status-icons-fail.png');
}
.icon_not_held, .icon_attention_requested {
-background-image:url(/images/status-not-held.png);
+background-image:image-url('status-not-held.png');
color:#A68C2E;
}
.icon_successful,.icon_partially_successful {
-background-image:url(/images/status-complete.png);
+background-image:image-url('status-complete.png');
color:#69952F;
}
.icon_requires_admin,.icon_waiting_response_overdue,.icon_waiting_response_very_overdue {
-background-image:url(/images/status-overdue.png);
+background-image:image-url('status-overdue.png');
color:#C1272D;
}
.icon_gone_postal {
-background-image:url(/images/status-gone-postal.png);
+background-image:image-url('status-gone-postal.png');
color:#A68C2E;
}
.icon_error_message {
-background-image:url(/images/status-error.png);
+background-image:image-url('status-error.png');
color:#C1272D;
}
.icon_internal_review {
-background-image:url(/images/status-internal-review.png);
+background-image:image-url('status-internal-review.png');
color:#A68C2E;
}
.icon_user_withdrawn {
-background-image:url(/images/status-withdrawn.png);
+background-image:image-url('status-withdrawn.png');
color:#A68C2E;
}
@@ -360,7 +360,7 @@ overflow:hidden;
.request_listing span.desc
/* full page request list only */ {
width:25em;
-background-image:url(../images/navimg/quote-open.png);
+background-image:image-url('navimg/quote-open.png');
background-repeat:no-repeat;
background-position:0 0;
padding:8px 0 0 25px;
@@ -1073,7 +1073,7 @@ padding-bottom:0;
}
.icon_failed,.icon_rejected {
-background-image:url(/images/status-denied.png);
+background-image:image-url('status-denied.png');
color:#C1272D;
}
@@ -1086,7 +1086,7 @@ padding:4px 0;
}
.request_listing span.desc {
-background:url(/images/quote-marks.png) no-repeat;
+background:image-url('quote-marks.png') no-repeat;
min-height:60px;
width:100%;
color:#444;
@@ -1280,7 +1280,7 @@ padding:5px;
form input.use-datepicker[type=text] {
width:130px !important;
-background:url(/images/calendar.png) no-repeat 115px 3px;
+background:image-url('calendar.png') no-repeat 115px 3px;
border-radius:3px !important;
-moz-border-radius:3px !important;
font-size:1.1em !important;
@@ -1298,7 +1298,7 @@ input[type="submit"]::-moz-focus-inner {
form input[type=submit],a.link_button_green,a.link_button_green_large {
color:#FFF;
background-color: #8cc63f; /* fallback color if gradients are not supported */
-background-image: url(/images/button-gradient.png);
+background-image: image-url('button-gradient.png');
background-image: -webkit-linear-gradient(top, #8cc63f, #6b9731); /* For Chrome and Safari */
background-image: -moz-linear-gradient(top, #8cc63f, #6b9731); /* For old Fx (3.6 to 15) */
background-image: -ms-linear-gradient(top, #8cc63f, #6b9731); /* For pre-releases of IE 10*/
@@ -1320,7 +1320,7 @@ padding:5px 6px;
color:white;
}
a.link_button_green_large {
-background-image: url(/images/button-gradient-large.png);
+background-image: image-url('button-gradient-large.png');
background-image: -webkit-linear-gradient(top, #8cc63f, #6b9731); /* For Chrome and Safari */
background-image: -moz-linear-gradient(top, #8cc63f, #6b9731); /* For old Fx (3.6 to 15) */
background-image: -ms-linear-gradient(top, #8cc63f, #6b9731); /* For pre-releases of IE 10*/
@@ -1362,7 +1362,7 @@ line-height:180%;
}
div.frontpage-box {
-background:url(/images/stripes.png);
+background:image-url('stripes.png');
border:1px solid #DEBEDD;
border-radius:5px;
-moz-border-radius:5px;
@@ -1398,7 +1398,7 @@ padding:5px 0;
#frontpage_examples .excerpt {
cursor:pointer;
-background:url(/images/quote-marks.png) no-repeat;
+background:image-url('quote-marks.png') no-repeat;
color:#444;
line-height:18px;
min-height:30px;
@@ -1407,7 +1407,7 @@ padding:0 0 0 40px;
}
#set_photo {
-background:url(/images/defaultprofilepic.png);
+background:image-url('defaultprofilepic.png');
}
div.correspondence,div.comment_in_request {
@@ -1441,7 +1441,7 @@ margin:0 0 0 10px;
}
#frontpage_splash {
-background:url(/images/flying-computer.png) no-repeat 175px bottom;
+background:image-url('flying-computer.png') no-repeat 175px bottom;
height:375px;
margin-top:-12px;
margin-bottom:20px;
@@ -1547,7 +1547,7 @@ color:#FFF;
}
#ui-datepicker-div .ui-icon-circle-triangle-w,#ui-datepicker-div .ui-icon-circle-triangle-e {
-background-image:url(/images/ui-icons-theme.png);
+background-image:image-url('ui-icons-theme.png');
}
#ui-datepicker-div .ui-datepicker-prev-hover {
@@ -1598,7 +1598,7 @@ display:inline-block;
border-radius:2px;
-moz-border-radius:2px;
cursor:pointer;
-background:url(/images/small-white-cross.png) no-repeat;
+background:image-url('small-white-cross.png') no-repeat;
width:15px;
height:15px;
border:solid 0 #FFF;
@@ -1632,7 +1632,7 @@ display:inline-block;
width:20px;
letter-spacing:-1000em;
overflow:hidden;
-background:url(/images/link-icon.png) no-repeat;
+background:image-url('link-icon.png') no-repeat;
}
#to_public_body {
diff --git a/public/stylesheets/print.css b/app/assets/stylesheets/print.css
index 6f29c18da..6f29c18da 100644
--- a/public/stylesheets/print.css
+++ b/app/assets/stylesheets/print.css
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb
index e0da234b0..88e275960 100644
--- a/app/controllers/admin_public_body_controller.rb
+++ b/app/controllers/admin_public_body_controller.rb
@@ -143,6 +143,8 @@ class AdminPublicBodyController < AdminController
@errors = ""
if request.post?
dry_run_only = (params['commit'] == 'Upload' ? false : true)
+ # (FIXME: both of these cases could now be changed to use
+ # PublicBody.import_csv_from_file.)
# Read file from params
if params[:csv_file]
csv_contents = params[:csv_file].read
diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb
index e7bea67ef..00a3beebd 100644
--- a/app/controllers/api_controller.rb
+++ b/app/controllers/api_controller.rb
@@ -200,7 +200,7 @@ class ApiController < ApplicationController
])
end
if feed_type == "atom"
- render :template => "api/request_events.atom", :layout => false
+ render :template => "api/request_events", :formats => ['atom'], :layout => false
elsif feed_type == "json"
# For the JSON feed, we take a "since" parameter that allows the client
# to restrict to events more recent than a certain other event
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index cbdffc441..161a82b26 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -138,7 +138,9 @@ class ApplicationController < ActionController::Base
backtrace = Rails.backtrace_cleaner.clean(exception.backtrace, :silent)
message << " " << backtrace.join("\n ")
Rails.logger.fatal("#{message}\n\n")
- ExceptionNotifier::Notifier.exception_notification(request.env, exception).deliver
+ if !AlaveteliConfiguration.exception_notifications_from.blank? && !AlaveteliConfiguration.exception_notifications_to.blank?
+ ExceptionNotifier::Notifier.exception_notification(request.env, exception).deliver
+ end
@status = 500
end
respond_to do |format|
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index 540f67ec9..b01a67027 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -12,56 +12,15 @@ class GeneralController < ApplicationController
# New, improved front page!
def frontpage
medium_cache
- # get some example searches and public bodies to display
- # either from config, or based on a (slow!) query if not set
- body_short_names = AlaveteliConfiguration::frontpage_publicbody_examples.split(/\s*;\s*/).map{|s| "'%s'" % s.gsub(/'/, "''") }.join(", ")
@locale = self.locale_from_params()
- locale_condition = 'public_body_translations.locale = ?'
- conditions = [locale_condition, @locale]
- I18n.with_locale(@locale) do
- if body_short_names.empty?
- # This is too slow
- @popular_bodies = PublicBody.visible.find(:all,
- :order => "info_requests_count desc",
- :limit => 32,
- :conditions => conditions,
- :joins => :translations
- )
- else
- conditions[0] += " and public_bodies.url_name in (" + body_short_names + ")"
- @popular_bodies = PublicBody.find(:all,
- :conditions => conditions,
- :joins => :translations)
- end
- end
- # Get some successful requests
- begin
- query = 'variety:response (status:successful OR status:partially_successful)'
- sortby = "newest"
- max_count = 5
- xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', max_count)
- @request_events = xapian_object.results.map { |r| r[:model] }
-
- # If there are not yet enough successful requests, fill out the list with
- # other requests
- if @request_events.count < max_count
- @request_events_all_successful = false
- query = 'variety:sent'
- xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', max_count-@request_events.count)
- more_events = xapian_object.results.map { |r| r[:model] }
- @request_events += more_events
- # Overall we still want the list sorted with the newest first
- @request_events.sort!{|e1,e2| e2.created_at <=> e1.created_at}
- else
- @request_events_all_successful = true
- end
- rescue
- @request_events = []
- end
end
# Display blog entries
def blog
+ if AlaveteliConfiguration::blog_feed.empty?
+ raise ActiveRecord::RecordNotFound.new("Page not enabled")
+ end
+
medium_cache
@feed_autodetect = []
@feed_url = AlaveteliConfiguration::blog_feed
@@ -178,6 +137,7 @@ class GeneralController < ApplicationController
@xapian_requests_hits = @xapian_requests.results.size
@xapian_requests_total_hits = @xapian_requests.matches_estimated
@total_hits += @xapian_requests.matches_estimated
+ @request_for_spelling = @xapian_requests
end
if @bodies
@xapian_bodies = perform_search([PublicBody], @query, @sortby, nil, 5)
@@ -186,6 +146,7 @@ class GeneralController < ApplicationController
@xapian_bodies_hits = @xapian_bodies.results.size
@xapian_bodies_total_hits = @xapian_bodies.matches_estimated
@total_hits += @xapian_bodies.matches_estimated
+ @request_for_spelling = @xapian_bodies
end
if @users
@xapian_users = perform_search([User], @query, @sortby, nil, 5)
@@ -194,14 +155,13 @@ class GeneralController < ApplicationController
@xapian_users_hits = @xapian_users.results.size
@xapian_users_total_hits = @xapian_users.matches_estimated
@total_hits += @xapian_users.matches_estimated
+ @request_for_spelling = @xapian_users
end
# Spelling and highight words are same for all three queries
- if !@xapian_requests.nil?
- @highlight_words = @xapian_requests.words_to_highlight
- if !(@xapian_requests.spelling_correction =~ /[a-z]+:/)
- @spelling_correction = @xapian_requests.spelling_correction
- end
+ @highlight_words = @request_for_spelling.words_to_highlight
+ if !(@request_for_spelling.spelling_correction =~ /[a-z]+:/)
+ @spelling_correction = @request_for_spelling.spelling_correction
end
@track_thing = TrackThing.create_track_for_search_query(@query, @variety_postfix)
diff --git a/app/controllers/public_body_controller.rb b/app/controllers/public_body_controller.rb
index 1f7032eed..308d38e4c 100644
--- a/app/controllers/public_body_controller.rb
+++ b/app/controllers/public_body_controller.rb
@@ -7,6 +7,7 @@
require 'fastercsv'
require 'confidence_intervals'
+require 'tempfile'
class PublicBodyController < ApplicationController
# XXX tidy this up with better error messages, and a more standard infrastructure for the redirect to canonical URL
@@ -191,9 +192,76 @@ class PublicBodyController < ApplicationController
end
def list_all_csv
- send_data(PublicBody.export_csv, :type=> 'text/csv; charset=utf-8; header=present',
+ # FIXME: this is just using the download directory for zip
+ # archives, since we know that is allowed for X-Sendfile and
+ # the filename can't clash with the numeric subdirectory names
+ # used for the zips. However, really there should be a
+ # generically named downloads directory that contains all
+ # kinds of downloadable assets.
+ download_directory = File.join(InfoRequest.download_zip_dir(),
+ 'download')
+ FileUtils.mkdir_p download_directory
+ output_leafname = 'all-authorities.csv'
+ output_filename = File.join download_directory, output_leafname
+ # Create a temporary file in the same directory, so we can
+ # rename it atomically to the intended filename:
+ tmp = Tempfile.new output_leafname, download_directory
+ tmp.close
+ # Export all the public bodies to that temporary path and make
+ # it readable:
+ PublicBody.export_csv tmp.path
+ FileUtils.chmod 0644, tmp.path
+ # Rename into place and send the file:
+ File.rename tmp.path, output_filename
+ send_file(output_filename,
+ :type => 'text/csv; charset=utf-8; header=present',
:filename => 'all-authorities.csv',
- :disposition =>'attachment', :encoding => 'utf8')
+ :disposition =>'attachment',
+ :encoding => 'utf8')
+ end
+
+
+ # This is a helper method to take data returned by the PublicBody
+ # model's statistics-generating methods, and converting them to
+ # simpler data structure that can be rendered by a Javascript
+ # graph library. (This could be a class method except that we need
+ # access to the URL helper public_body_path.)
+ def simplify_stats_for_graphs(data,
+ column,
+ percentages,
+ graph_properties)
+ # Copy the data, only taking known-to-be-safe keys:
+ result = Hash.new { |h, k| h[k] = [] }
+ result.update Hash[data.select do |key, value|
+ ['y_values',
+ 'y_max',
+ 'totals',
+ 'cis_below',
+ 'cis_above'].include? key
+ end]
+
+ # Extract data about the public bodies for the x-axis,
+ # tooltips, and so on:
+ data['public_bodies'].each_with_index do |pb, i|
+ result['x_values'] << i
+ result['x_ticks'] << [i, pb.name]
+ result['tooltips'] << "#{pb.name} (#{result['totals'][i]})"
+ result['public_bodies'] << {
+ 'name' => pb.name,
+ 'url' => public_body_path(pb)
+ }
+ end
+
+ # Set graph metadata properties, like the title, axis labels, etc.
+ graph_id = "#{column}-"
+ graph_id += graph_properties[:highest] ? 'highest' : 'lowest'
+ result.update({
+ 'id' => graph_id,
+ 'x_axis' => _('Public Bodies'),
+ 'y_axis' => graph_properties[:y_axis],
+ 'errorbars' => percentages,
+ 'title' => graph_properties[:title]
+ })
end
def statistics
@@ -201,7 +269,7 @@ class PublicBodyController < ApplicationController
raise ActiveRecord::RecordNotFound.new("Page not enabled")
end
- per_graph = 8
+ per_graph = 10
minimum_requests = AlaveteliConfiguration::minimum_requests_for_statistics
# Make sure minimum_requests is > 0 to avoid division-by-zero
minimum_requests = [minimum_requests, 1].max
@@ -251,20 +319,12 @@ class PublicBodyController < ApplicationController
minimum_requests)
end
- data_to_draw = {
- 'id' => "#{column}-#{highest ? 'highest' : 'lowest'}",
- 'x_axis' => _('Public Bodies'),
- 'y_axis' => graph_properties[:y_axis],
- 'errorbars' => percentages,
- 'title' => graph_properties[:title]}
-
if data
- data_to_draw.update(data)
- data_to_draw['x_values'] = data['public_bodies'].each_with_index.map { |pb, i| i }
- data_to_draw['x_ticks'] = data['public_bodies'].each_with_index.map { |pb, i| [i, pb.name] }
+ @graph_list.push simplify_stats_for_graphs(data,
+ column,
+ percentages,
+ graph_properties)
end
-
- @graph_list.push data_to_draw
end
end
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 388473b51..d982bd391 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -92,15 +92,8 @@ class RequestController < ApplicationController
# Sidebar stuff
@sidebar = true
- # ... requests that have similar imporant terms
- begin
- limit = 10
- @xapian_similar = ActsAsXapian::Similar.new([InfoRequestEvent], @info_request.info_request_events,
- :limit => limit, :collapse_by_prefix => 'request_collapse')
- @xapian_similar_more = (@xapian_similar.matches_estimated > limit)
- rescue
- @xapian_similar = nil
- end
+ @similar_cache_key = cache_key_for_similar_requests(@info_request, @locale)
+
# Track corresponding to this page
@track_thing = TrackThing.create_track_for_request(@info_request)
@feed_autodetect = [ { :url => do_track_url(@track_thing, 'feed'), :title => @track_thing.params[:title_in_rss], :has_json => true } ]
@@ -965,11 +958,17 @@ class RequestController < ApplicationController
end
if !done
file_info = { :filename => 'correspondence.txt',
- :data => render_to_string(:template => 'request/show.text',
- :layout => false) }
+ :data => render_to_string(:template => 'request/show',
+ :layout => false,
+ :formats => [:text]) }
end
file_info
end
+ def cache_key_for_similar_requests(info_request, locale)
+ "request/similar/#{info_request.id}/#{locale}"
+ end
+
+
end
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb
index 40fa69290..1123903f9 100644
--- a/app/controllers/track_controller.rb
+++ b/app/controllers/track_controller.rb
@@ -160,7 +160,10 @@ class TrackController < ApplicationController
format.json { render :json => @xapian_object.results.map { |r| r[:model].json_for_api(true,
lambda { |t| view_context.highlight_and_excerpt(t, @xapian_object.words_to_highlight, 150) }
) } }
- format.any { render :template => 'track/atom_feed.atom', :layout => false, :content_type => 'application/atom+xml' }
+ format.any { render :template => 'track/atom_feed',
+ :formats => ['atom'],
+ :layout => false,
+ :content_type => 'application/atom+xml' }
end
end
@@ -181,7 +184,8 @@ class TrackController < ApplicationController
if new_medium == 'delete'
track_thing.destroy
flash[:notice] = _("You are no longer following {{track_description}}.", :track_description => track_thing.params[:list_description])
- redirect_to params[:r]
+ redirect_to URI.parse(params[:r]).path
+
# Reuse code like this if we let medium change again.
#elsif new_medium == 'email_daily'
# track_thing.track_medium = new_medium
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index e3b1e57ac..4b603b064 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -54,16 +54,16 @@ module ApplicationHelper
# Highlight words, also escapes HTML (other than spans that we add)
def highlight_words(t, words, html = true)
if html
- highlight(h(t), words, '<span class="highlight">\1</span>').html_safe
+ highlight(h(t), words, :highlighter => '<span class="highlight">\1</span>').html_safe
else
- highlight(t, words, '*\1*')
+ highlight(t, words, :highlighter => '*\1*')
end
end
def highlight_and_excerpt(t, words, excount, html = true)
- newt = excerpt(t, words[0], excount)
+ newt = excerpt(t, words[0], :radius => excount)
if not newt
- newt = excerpt(t, '', excount)
+ newt = excerpt(t, '', :radius => excount)
end
t = newt
t = highlight_words(t, words, html)
@@ -116,5 +116,12 @@ module ApplicationHelper
return !session[:using_admin].nil? || (!@user.nil? && @user.super?)
end
+ def cache_if_caching_fragments(*args, &block)
+ if AlaveteliConfiguration::cache_fragments
+ cache(*args) { yield }
+ else
+ yield
+ end
+ end
end
diff --git a/app/mailers/request_mailer.rb b/app/mailers/request_mailer.rb
index 13b3bc4a1..af1a75df9 100644
--- a/app/mailers/request_mailer.rb
+++ b/app/mailers/request_mailer.rb
@@ -19,7 +19,8 @@ class RequestMailer < ApplicationMailer
end
mail(:from => from_user.name_and_email,
- :to => info_request.incoming_name_and_email)
+ :to => info_request.incoming_name_and_email,
+ :subject => info_request.email_subject_followup)
end
# Used when a response is uploaded using the API
@@ -63,7 +64,7 @@ class RequestMailer < ApplicationMailer
mail(:from => user.name_and_email,
:to => contact_from_name_and_email,
- :subject => _("FOI response requires admin ({{reason}}) - {{title}}", :reason => info_request.described_state, :title => info_request.title))
+ :subject => _("FOI response requires admin ({{reason}}) - {{title}}", :reason => info_request.described_state, :title => info_request.title).html_safe)
end
# Tell the requester that a new response has arrived
@@ -79,7 +80,7 @@ class RequestMailer < ApplicationMailer
mail(:from => contact_from_name_and_email,
:to => info_request.user.name_and_email,
- :subject => _("New response to your FOI request - ") + info_request.title,
+ :subject => (_("New response to your FOI request - ") + info_request.title).html_safe,
:charset => "UTF-8",
# not much we can do if the user's email is broken
:reply_to => contact_from_name_and_email)
@@ -182,7 +183,7 @@ class RequestMailer < ApplicationMailer
mail(:from => contact_from_name_and_email,
:to => info_request.user.name_and_email,
- :subject => _("Clarify your FOI request - ") + info_request.title)
+ :subject => (_("Clarify your FOI request - ") + info_request.title).html_safe)
end
# Tell requester that somebody add an annotation to their request
diff --git a/app/models/foi_attachment.rb b/app/models/foi_attachment.rb
index 914420a2b..acbfc8a34 100644
--- a/app/models/foi_attachment.rb
+++ b/app/models/foi_attachment.rb
@@ -69,7 +69,7 @@ class FoiAttachment < ActiveRecord::Base
tries = 0
delay = 1
begin
- binary_data = File.open(self.filepath, "rb" ).read
+ binary_data = File.open(self.filepath, "rb" ){ |file| file.read }
if self.content_type =~ /^text/
@cached_body = convert_string_to_utf8_or_binary(binary_data, 'UTF-8')
else
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index 8b2aa87e7..bcf0b6ec9 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -129,15 +129,15 @@ class IncomingMessage < ActiveRecord::Base
if (!force.nil? || self.last_parsed.nil?)
ActiveRecord::Base.transaction do
self.extract_attachments!
- self.sent_at = self.mail.date || self.created_at
- self.subject = self.mail.subject
- self.mail_from = MailHandler.get_from_name(self.mail)
+ write_attribute(:sent_at, self.mail.date || self.created_at)
+ write_attribute(:subject, self.mail.subject)
+ write_attribute(:mail_from, MailHandler.get_from_name(self.mail))
if self.from_email
self.mail_from_domain = PublicBody.extract_domain_from_email(self.from_email)
else
self.mail_from_domain = ""
end
- self.valid_to_reply_to = self._calculate_valid_to_reply_to
+ write_attribute(:valid_to_reply_to, self._calculate_valid_to_reply_to)
self.last_parsed = Time.now
self.foi_attachments reload=true
self.save!
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index eba620f53..0a073dc79 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -1182,14 +1182,23 @@ public
after_save :update_counter_cache
after_destroy :update_counter_cache
+ # This method updates the count columns of the PublicBody that
+ # store the number of "not held", "to some extent successful" and
+ # "both visible and classified" requests when saving or destroying
+ # an InfoRequest associated with the body:
def update_counter_cache
PublicBody.skip_callback(:save, :after, :purge_in_cache)
- self.public_body.info_requests_not_held_count = InfoRequest.where(
- :public_body_id => self.public_body.id,
- :described_state => 'not_held').count
- self.public_body.info_requests_successful_count = InfoRequest.where(
- :public_body_id => self.public_body.id,
- :described_state => ['successful', 'partially_successful']).count
+ basic_params = {
+ :public_body_id => self.public_body_id,
+ :awaiting_description => false,
+ :prominence => 'normal'
+ }
+ [['info_requests_not_held_count', {:described_state => 'not_held'}],
+ ['info_requests_successful_count', {:described_state => ['successful', 'partially_successful']}],
+ ['info_requests_visible_classified_count', {}]].each do |column, extra_params|
+ params = basic_params.clone.update extra_params
+ self.public_body.send "#{column}=", InfoRequest.where(params).count
+ end
self.public_body.without_revision do
public_body.no_xapian_reindex = true
public_body.save
@@ -1203,6 +1212,69 @@ public
end
end
+
+ # Get requests that have similar important terms
+ def similar_requests(limit=10)
+ xapian_similar = nil
+ xapian_similar_more = false
+ begin
+ xapian_similar = ActsAsXapian::Similar.new([InfoRequestEvent],
+ info_request_events,
+ :limit => limit,
+ :collapse_by_prefix => 'request_collapse')
+ xapian_similar_more = (xapian_similar.matches_estimated > limit)
+ rescue
+ end
+ return [xapian_similar, xapian_similar_more]
+ end
+
+ def InfoRequest.recent_requests
+ request_events = []
+ request_events_all_successful = false
+ # Get some successful requests
+ begin
+ query = 'variety:response (status:successful OR status:partially_successful)'
+ sortby = "newest"
+ max_count = 5
+
+ xapian_object = ActsAsXapian::Search.new([InfoRequestEvent],
+ query,
+ :offset => 0,
+ :limit => 5,
+ :sort_by_prefix => 'created_at',
+ :sort_by_ascending => true,
+ :collapse_by_prefix => 'request_title_collapse'
+ )
+ xapian_object.results
+ request_events = xapian_object.results.map { |r| r[:model] }
+
+ # If there are not yet enough successful requests, fill out the list with
+ # other requests
+ if request_events.count < max_count
+ query = 'variety:sent'
+ xapian_object = ActsAsXapian::Search.new([InfoRequestEvent],
+ query,
+ :offset => 0,
+ :limit => max_count-request_events.count,
+ :sort_by_prefix => 'created_at',
+ :sort_by_ascending => true,
+ :collapse_by_prefix => 'request_title_collapse'
+ )
+ xapian_object.results
+ more_events = xapian_object.results.map { |r| r[:model] }
+ request_events += more_events
+ # Overall we still want the list sorted with the newest first
+ request_events.sort!{|e1,e2| e2.created_at <=> e1.created_at}
+ else
+ request_events_all_successful = true
+ end
+ rescue
+ request_events = []
+ end
+
+ return [request_events, request_events_all_successful]
+ end
+
private
def set_defaults
diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb
index e2ee696c5..6efc1d2ba 100644
--- a/app/models/outgoing_message.rb
+++ b/app/models/outgoing_message.rb
@@ -12,6 +12,8 @@
# last_sent_at :datetime
# incoming_message_followup_id :integer
# what_doing :string(255) not null
+# prominence :string(255) default("normal"), not null
+# prominence_reason :text
#
# models/outgoing_message.rb:
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index 485a794b0..933825d2a 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -3,23 +3,27 @@
#
# Table name: public_bodies
#
-# id :integer not null, primary key
-# name :text not null
-# short_name :text not null
-# request_email :text not null
-# version :integer not null
-# last_edit_editor :string(255) not null
-# last_edit_comment :text not null
-# created_at :datetime not null
-# updated_at :datetime not null
-# url_name :text not null
-# home_page :text default(""), not null
-# notes :text default(""), not null
-# first_letter :string(255) not null
-# publication_scheme :text default(""), not null
-# api_key :string(255) not null
-# info_requests_count :integer default(0), not null
-# disclosure_log :text default(""), not null
+# id :integer not null, primary key
+# name :text not null
+# short_name :text not null
+# request_email :text not null
+# version :integer not null
+# last_edit_editor :string(255) not null
+# last_edit_comment :text not null
+# created_at :datetime not null
+# updated_at :datetime not null
+# url_name :text not null
+# home_page :text default(""), not null
+# notes :text default(""), not null
+# first_letter :string(255) not null
+# publication_scheme :text default(""), not null
+# api_key :string(255) not null
+# info_requests_count :integer default(0), not null
+# disclosure_log :text default(""), not null
+# info_requests_successful_count :integer
+# info_requests_not_held_count :integer
+# info_requests_overdue_count :integer
+# info_requests_visible_classified_count :integer
#
require 'csv'
@@ -190,11 +194,11 @@ class PublicBody < ActiveRecord::Base
acts_as_versioned
self.non_versioned_columns << 'created_at' << 'updated_at' << 'first_letter' << 'api_key'
self.non_versioned_columns << 'info_requests_count' << 'info_requests_successful_count'
+ self.non_versioned_columns << 'info_requests_count' << 'info_requests_visible_classified_count'
self.non_versioned_columns << 'info_requests_not_held_count' << 'info_requests_overdue'
self.non_versioned_columns << 'info_requests_overdue_count'
class Version
- attr_accessor :created_at
def last_edit_comment_for_html_display
text = self.last_edit_comment.strip
@@ -256,13 +260,13 @@ class PublicBody < ActiveRecord::Base
# When name or short name is changed, also change the url name
def short_name=(short_name)
- globalize.write(I18n.locale, :short_name, short_name)
+ globalize.write(Globalize.locale, :short_name, short_name)
self[:short_name] = short_name
self.update_url_name
end
def name=(name)
- globalize.write(I18n.locale, :name, name)
+ globalize.write(Globalize.locale, :name, name)
self[:name] = name
self.update_url_name
end
@@ -365,10 +369,24 @@ class PublicBody < ActiveRecord::Base
class ImportCSVDryRun < StandardError
end
- # Import from CSV. Just tests things and returns messages if dry_run is true.
- # Returns an array of [array of errors, array of notes]. If there are errors,
- # always rolls back (as with dry_run).
+ # Import from a string in CSV format.
+ # Just tests things and returns messages if dry_run is true.
+ # Returns an array of [array of errors, array of notes]. If there
+ # are errors, always rolls back (as with dry_run).
def self.import_csv(csv, tag, tag_behaviour, dry_run, editor, available_locales = [])
+ tmp_csv = nil
+ Tempfile.open('alaveteli') do |f|
+ f.write csv
+ tmp_csv = f
+ end
+ PublicBody.import_csv_from_file(tmp_csv.path, tag, tag_behaviour, dry_run, editor, available_locales)
+ end
+
+ # Import from a CSV file.
+ # Just tests things and returns messages if dry_run is true.
+ # Returns an array of [array of errors, array of notes]. If there
+ # are errors, always rolls back (as with dry_run).
+ def self.import_csv_from_file(csv_filename, tag, tag_behaviour, dry_run, editor, available_locales = [])
errors = []
notes = []
available_locales = [I18n.default_locale] if available_locales.empty?
@@ -394,7 +412,8 @@ class PublicBody < ActiveRecord::Base
set_of_importing = Set.new()
field_names = { 'name'=>1, 'request_email'=>2 } # Default values in case no field list is given
line = 0
- CSV.parse(csv) do |row|
+
+ CSV.foreach(csv_filename) do |row|
line = line + 1
# Parse the first line as a field list if it starts with '#'
@@ -407,6 +426,8 @@ class PublicBody < ActiveRecord::Base
fields = {}
field_names.each{|name, i| fields[name] = row[i]}
+ yield line, fields if block_given?
+
name = row[field_names['name']]
email = row[field_names['request_email']]
next if name.nil?
@@ -507,10 +528,8 @@ class PublicBody < ActiveRecord::Base
end
# Returns all public bodies (except for the internal admin authority) as csv
- def self.export_csv
- public_bodies = PublicBody.visible.find(:all, :order => 'url_name',
- :include => [:translations, :tags])
- FasterCSV.generate() do |csv|
+ def self.export_csv(output_filename)
+ CSV.open(output_filename, "w") do |csv|
csv << [
'Name',
'Short name',
@@ -525,7 +544,7 @@ class PublicBody < ActiveRecord::Base
'Updated at',
'Version',
]
- public_bodies.each do |public_body|
+ PublicBody.visible.find_each(:include => [:translations, :tags]) do |public_body|
# Skip bodies we use only for site admin
next if public_body.has_tag?('site_administration')
csv << [
@@ -648,20 +667,30 @@ class PublicBody < ActiveRecord::Base
end
end
+ def self.where_clause_for_stats(minimum_requests, total_column)
+ # When producing statistics for public bodies, we want to
+ # exclude any that are tagged with 'test' - we use a
+ # sub-select to find the IDs of those public bodies.
+ test_tagged_query = "SELECT model_id FROM has_tag_string_tags" \
+ " WHERE model = 'PublicBody' AND name = 'test'"
+ "#{total_column} >= #{minimum_requests} AND id NOT IN (#{test_tagged_query})"
+ end
+
# Return data for the 'n' public bodies with the highest (or
# lowest) number of requests, but only returning data for those
# with at least 'minimum_requests' requests.
def self.get_request_totals(n, highest, minimum_requests)
ordering = "info_requests_count"
ordering += " DESC" if highest
- where_clause = "info_requests_count >= #{minimum_requests}"
+ where_clause = where_clause_for_stats minimum_requests, 'info_requests_count'
public_bodies = PublicBody.order(ordering).where(where_clause).limit(n)
public_bodies.reverse! if highest
y_values = public_bodies.map { |pb| pb.info_requests_count }
return {
'public_bodies' => public_bodies,
'y_values' => y_values,
- 'y_max' => y_values.max}
+ 'y_max' => y_values.max,
+ 'totals' => y_values}
end
# Return data for the 'n' public bodies with the highest (or
@@ -670,11 +699,12 @@ class PublicBody < ActiveRecord::Base
# percentage. This only returns data for those public bodies with
# at least 'minimum_requests' requests.
def self.get_request_percentages(column, n, highest, minimum_requests)
- total_column = "info_requests_count"
+ total_column = "info_requests_visible_classified_count"
ordering = "y_value"
ordering += " DESC" if highest
y_value_column = "(cast(#{column} as float) / #{total_column})"
- where_clause = "#{total_column} >= #{minimum_requests} AND #{column} IS NOT NULL"
+ where_clause = where_clause_for_stats minimum_requests, total_column
+ where_clause += " AND #{column} IS NOT NULL"
public_bodies = PublicBody.select("*, #{y_value_column} AS y_value").order(ordering).where(where_clause).limit(n)
public_bodies.reverse! if highest
y_values = public_bodies.map { |pb| pb.y_value.to_f }
@@ -704,7 +734,33 @@ class PublicBody < ActiveRecord::Base
'y_values' => y_values,
'cis_below' => cis_below,
'cis_above' => cis_above,
- 'y_max' => 100}
+ 'y_max' => 100,
+ 'totals' => original_totals}
+ end
+ def self.popular_bodies(locale)
+ # get some example searches and public bodies to display
+ # either from config, or based on a (slow!) query if not set
+ body_short_names = AlaveteliConfiguration::frontpage_publicbody_examples.split(/\s*;\s*/)
+ locale_condition = 'public_body_translations.locale = ?'
+ underscore_locale = locale.gsub '-', '_'
+ conditions = [locale_condition, underscore_locale]
+ bodies = []
+ I18n.with_locale(locale) do
+ if body_short_names.empty?
+ # This is too slow
+ bodies = visible.find(:all,
+ :order => "info_requests_count desc",
+ :limit => 32,
+ :conditions => conditions,
+ :joins => :translations
+ )
+ else
+ conditions[0] += " and public_bodies.url_name in (?)"
+ conditions << body_short_names
+ bodies = find(:all, :conditions => conditions, :joins => :translations)
+ end
+ end
+ return bodies
end
private
diff --git a/app/models/user.rb b/app/models/user.rb
index d7c1c854e..2c4f87944 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -20,8 +20,6 @@
# email_bounce_message :text default(""), not null
# no_limit :boolean default(FALSE), not null
# receive_email_alerts :boolean default(TRUE), not null
-# address :string(255)
-# dob :date
#
require 'digest/sha1'
diff --git a/app/views/admin_public_body/_form.html.erb b/app/views/admin_public_body/_form.html.erb
index c577d1e18..5a80386ec 100644
--- a/app/views/admin_public_body/_form.html.erb
+++ b/app/views/admin_public_body/_form.html.erb
@@ -51,12 +51,6 @@
</div>
</div>
<div class="control-group">
- <label for="<%= form_tag_id(t.object_name, :disclosure_log, locale) %>" class="control-label"><%=_("Disclosure log URL")%></label>
- <div class="controls">
- <%= t.text_field :disclosure_log, :size => 60, :id => form_tag_id(t.object_name, :disclosure_log, locale), :class => "span3" %>
- </div>
- </div>
- <div class="control-group">
<label for="<%= form_tag_id(t.object_name, :notes, locale) %>" class="control-label"><%=_("Public notes")%></label>
<div class="controls">
<%= t.text_area :notes, :rows => 3, :id => form_tag_id(t.object_name, :notes, locale), :class => "span6" %>
@@ -82,13 +76,19 @@
</div>
</div>
<div class="control-group">
- <label for="public_body_home_page"><%=_("Home page")%></label>
+ <label for="public_body_home_page" class="control-label"><%=_("Home page")%></label>
<div class="controls">
<%= f.text_field :home_page, :class => "span4" %>
<p class="help-block">(of whole authority, not just their FOI page; set to <strong>blank</strong> (empty string) to guess it from the email)</p>
</div>
</div>
<div class="control-group">
+ <label for="public_body_disclosure_log" class="control-label"><%=_("Disclosure log URL")%></label>
+ <div class="controls">
+ <%= f.text_field :disclosure_log, :size => 60, :class => "span4" %>
+ </div>
+</div>
+<div class="control-group">
<label for="public_body_last_edit_comment" class="control-label"><strong>Comment</strong> for this edit</label>
<div class="controls">
<%= f.text_area :last_edit_comment, :rows => 3, :class => "span6" %></p>
diff --git a/app/views/comment/_single_comment.html.erb b/app/views/comment/_single_comment.html.erb
index af1de0649..a6d234b34 100644
--- a/app/views/comment/_single_comment.html.erb
+++ b/app/views/comment/_single_comment.html.erb
@@ -11,16 +11,16 @@
</h2>
<div class="comment_in_request_text">
<p>
- <img class="comment_quote" src="/images/quote-marks.png" alt="">
+ <%= image_tag "quote-marks.png", :class => "comment_quote" %>
<%= comment.get_body_for_html_display %>
</p>
</div>
<p class="event_actions">
<% if !comment.id.nil? %>
- <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<% if !@user.nil? && @user.admin_page_links? %>
- | <%= link_to "Admin", admin_request_edit_comment_path(comment) %>
+ <%= link_to "Admin", admin_request_edit_comment_path(comment) %> |
<% end %>
+ <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<!-- | <%= link_to _('Report abuse'), comment_path(comment) %> -->
<% end %>
</p>
diff --git a/app/views/general/_footer.html.erb b/app/views/general/_footer.html.erb
index 990093694..2e10a0f94 100644
--- a/app/views/general/_footer.html.erb
+++ b/app/views/general/_footer.html.erb
@@ -1,6 +1,8 @@
<div id="footer">
<%= link_to _("Contact {{site_name}}", :site_name => site_name), help_contact_path %>
-| <img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= AlaveteliConfiguration::twitter_username %>"><%= _("Follow us on twitter") %></a>
+<% unless AlaveteliConfiguration::twitter_username.blank? %>
+| <%= image_tag "twitter-16.png", :alt => "twitter icon", :class => "twitter-icon" %> <a href="https://twitter.com/<%= AlaveteliConfiguration::twitter_username %>"><%= _("Follow us on twitter") %></a>
+<% end %>
<%= render :partial => 'general/credits' %>
</div>
<div class="after-footer">&nbsp;</div>
diff --git a/app/views/general/_frontpage_bodies_list.html.erb b/app/views/general/_frontpage_bodies_list.html.erb
index 75daea41d..44321f14a 100644
--- a/app/views/general/_frontpage_bodies_list.html.erb
+++ b/app/views/general/_frontpage_bodies_list.html.erb
@@ -1,10 +1,11 @@
-<% if @popular_bodies.size > 0 %>
+<%- popular_bodies = PublicBody.popular_bodies(@locale) %>
+<% if popular_bodies.size > 0 %>
<div id="examples_0">
<h3><%= _("Who can I request information from?") %></h3>
<%= _("{{site_name}} covers requests to {{number_of_authorities}} authorities, including:",
:site_name => site_name, :number_of_authorities => PublicBody.visible.count) %>
<ul>
- <% for popular_body in @popular_bodies %>
+ <% for popular_body in popular_bodies %>
<li><%=public_body_link(popular_body)%>
<%= n_('{{count}} request', '{{count}} requests', popular_body.info_requests_count, :count => popular_body.info_requests_count) %>
</li>
diff --git a/app/views/general/_frontpage_requests_list.html.erb b/app/views/general/_frontpage_requests_list.html.erb
index fa498dfa7..d7d9184c4 100644
--- a/app/views/general/_frontpage_requests_list.html.erb
+++ b/app/views/general/_frontpage_requests_list.html.erb
@@ -1,3 +1,4 @@
+<%- @request_events, @request_events_all_successful = InfoRequest.recent_requests %>
<div id="examples_1">
<h3>
<% if @request_events_all_successful %>
@@ -21,7 +22,7 @@
<%=link_to h(event.info_request.title), request_path(event.info_request)%>
<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(event.described_at)) %>
- <p class="excerpt" onclick="document.location.href='<%=request_path(event.info_request)%>'"><%= excerpt(event.search_text_main(true), "", 200) %></p>
+ <p class="excerpt" onclick="document.location.href='<%=request_path(event.info_request)%>'"><%= excerpt(event.search_text_main(true), "", :radius => 200) %></p>
</li>
<% end %>
</ul>
diff --git a/app/views/general/_header.html.erb b/app/views/general/_header.html.erb
new file mode 100644
index 000000000..55bf719e2
--- /dev/null
+++ b/app/views/general/_header.html.erb
@@ -0,0 +1,37 @@
+<div id="banner">
+ <div id="banner_inner">
+ <div class="lang"><%= render :partial => 'general/locale_switcher' %></div>
+
+ <% if not (controller.action_name == 'signin' or controller.action_name == 'signup') %>
+ <div id="logged_in_bar">
+ <% if @user %>
+ <%= _('Hello, {{username}}!', :username => h(@user.name))%>
+
+ <% if @user %>
+ <%=link_to _("My requests"), show_user_requests_path(:url_name => @user.url_name) %>
+ <%=link_to _("My profile"), show_user_profile_path(:url_name => @user.url_name) %>
+ <%=link_to _("My wall"), show_user_wall_path(:url_name => @user.url_name) %>
+ <% end %>
+
+
+ <%= link_to _("Sign out"), signout_path(:r => request.fullpath) %>
+ <% else %>
+ <%= link_to _("Sign in or sign up"), signin_path(:r => request.fullpath) %>
+ <% end %>
+ </div>
+ <% end %>
+
+ <div id="navigation_search">
+ <form id="navigation_search_form" method="post" action="<%= search_redirect_path %>">
+ <p>
+ <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query", :title => "type your search term here" } %>
+ <input id="navigation_search_button" type="submit" value="search">
+ </p>
+ </form>
+ </div>
+
+ <%= render :partial => 'general/orglink' %>
+
+ <%= render :partial => 'general/topnav' %>
+ </div>
+</div>
diff --git a/app/views/general/_stylesheet_includes.html.erb b/app/views/general/_stylesheet_includes.html.erb
index 416ddb825..7a1648efd 100644
--- a/app/views/general/_stylesheet_includes.html.erb
+++ b/app/views/general/_stylesheet_includes.html.erb
@@ -1,23 +1,22 @@
<%- if @render_to_file %>
<style>
- <%= raw File.read(Rails.root.join('public', 'stylesheets', 'main.css')) %>
- <%= raw File.read(Rails.root.join('public', 'stylesheets', 'print.css')) %>
+ <%= Rails.application.assets["main.css"].to_s %>
+ <%= Rails.application.assets["print.css"].to_s %>
</style>
<%- else %>
- <%= stylesheet_link_tag 'main', :title => "Main", :rel => "stylesheet", :media => "all" %>
+ <%= stylesheet_link_tag 'application', :title => "Main", :rel => "stylesheet", :media => "all" %>
<%= stylesheet_link_tag 'fonts', :rel => "stylesheet", :media => "all" %>
<%= stylesheet_link_tag 'print', :rel => "stylesheet", :media => "print" %>
<% if !params[:print_stylesheet].nil? %>
<%= stylesheet_link_tag 'print', :rel => "stylesheet", :media => "all" %>
<% end %>
- <%= stylesheet_link_tag 'admin-theme/jquery-ui-1.8.15.custom.css', :rel => 'stylesheet'%>
<!--[if LT IE 7]>
- <style type="text/css">@import url("/stylesheets/ie6.css");</style>
+ <%= stylesheet_link_tag 'ie6.css' %>
<![endif]-->
<!--[if LT IE 8]>
- <style type="text/css">@import url("/stylesheets/ie7.css");</style>
+ <%= stylesheet_link_tag 'ie7.css' %>
<![endif]-->
<% if AlaveteliConfiguration::force_registration_on_new_request %>
- <%= stylesheet_link_tag 'jquery.fancybox-1.3.4', :rel => "stylesheet" %>
+ <%= stylesheet_link_tag 'jquery.fancybox-1.3.4.css', :rel => "stylesheet" %>
<% end %>
<% end %>
diff --git a/app/views/general/_topnav.html.erb b/app/views/general/_topnav.html.erb
index c7f2cedea..d37bd97d1 100644
--- a/app/views/general/_topnav.html.erb
+++ b/app/views/general/_topnav.html.erb
@@ -4,7 +4,9 @@
<li class="<%= 'selected' if params[:controller] == 'request' and ['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("Make a request"), select_authority_path, :id => 'make-request-link' %></li>
<li class="<%= 'selected' if params[:controller] == 'request' and !['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("View requests"), request_list_successful_path %></li>
<li class="<%= 'selected' if params[:controller] == 'public_body' %>"><%= link_to _("View authorities"), list_public_bodies_default_path %></li>
+<% unless AlaveteliConfiguration::blog_feed.empty? %>
<li class="<%= 'selected' if params[:controller] == 'general' and params[:action] == 'blog' %>"><%= link_to _("Read blog"), blog_path %></li>
+<% end %>
<li class="<%= 'selected' if params[:controller] == 'help' %>"><%= link_to _("Help"), help_about_path %></li>
</ul>
</div>
diff --git a/app/views/general/blog.html.erb b/app/views/general/blog.html.erb
index ef587421e..b81989ca8 100644
--- a/app/views/general/blog.html.erb
+++ b/app/views/general/blog.html.erb
@@ -4,8 +4,8 @@
<div id="right_column">
<div class="act_link">
<h2><%= _("Stay up to date") %></h2>
- <img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= @twitter_user %>"><%= _("Follow us on twitter") %></a><br/><br/>
- <img src="/images/feed-16.png" alt="RSS icon"> <a href="<%= @feed_url %>"><%= _("Subscribe to blog") %></a>
+ <%= image_tag "twitter-16.png", :alt => "twitter icon", :class => "twitter-icon" %> <a href="https://twitter.com/<%= @twitter_user %>"><%= _("Follow us on twitter") %></a><br/><br/>
+ <%= image_tag "feed-16.png", :alt => "RSS icon" %> <a href="<%= @feed_url %>"><%= _("Subscribe to blog") %></a>
</div>
<% if AlaveteliConfiguration::twitter_widget_id %>
<div id="twitter">
diff --git a/app/views/general/frontpage.html.erb b/app/views/general/frontpage.html.erb
index bf5261d15..8bb32bdf2 100644
--- a/app/views/general/frontpage.html.erb
+++ b/app/views/general/frontpage.html.erb
@@ -1,4 +1,4 @@
-<% # TODO: Cache for 5 minutes %>
+<% cache_if_caching_fragments("frontpage-#{@locale}", :expires_in => 5.minutes) do %>
<div id="frontpage_splash">
<div id="left_column">
<%= render :partial => "frontpage_new_request" %>
@@ -17,3 +17,4 @@
<%= render :partial => "frontpage_bodies_list" %>
<%= render :partial => "frontpage_requests_list" %>
</div>
+<% end %>
diff --git a/app/views/general/search.html.erb b/app/views/general/search.html.erb
index d526a93c0..18f258444 100644
--- a/app/views/general/search.html.erb
+++ b/app/views/general/search.html.erb
@@ -116,7 +116,7 @@
<% end # if @advanced %>
- <% if !@query.nil? %>
+ <% if !@query.nil? && @total_hits > 0 %>
<p id="search_controls">
<%=link_to_unless @sortby == 'relevant', _("Show most relevant results first"), search_path([params[:query], @variety_postfix, 'relevant'], params) %>
|
@@ -137,6 +137,9 @@
<div style="clear:both;"></div>
<% if @total_hits == 0 %>
<h2><%=@title %></h2>
+ <% if @spelling_correction %>
+ <p id="did_you_mean"><%= _('Did you mean: {{correction}}', :correction => search_link(@spelling_correction)) %></p>
+ <% end %>
<% end %>
<% if not @query.nil? %>
@@ -155,10 +158,7 @@
</div>
<%= will_paginate WillPaginate::Collection.new(@page, @bodies_per_page, @xapian_bodies.matches_estimated) %>
- <% elsif @bodies && !@query.nil? && @xapian_bodies.results.size == 0 && @page == 1 %>
- <% if @spelling_correction %>
- <p id="did_you_mean"><%= _('Did you mean: {{correction}}', :correction => search_link(@spelling_correction)) %></p>
- <% end %>
+ <% elsif @variety_postfix == 'bodies' %>
<p><%= raw(_('<a href="{{browse_url}}">Browse all</a> or <a href="{{add_url}}">ask us to add one</a>.', :browse_url => list_public_bodies_default_path.html_safe, :add_url => (help_requesting_path + '#missing_body').html_safe)) %></p>
<% end %>
</div>
diff --git a/app/views/help/api.html.erb b/app/views/help/api.html.erb
index 57390d65a..df7bb30b6 100644
--- a/app/views/help/api.html.erb
+++ b/app/views/help/api.html.erb
@@ -36,7 +36,7 @@
use to get updates and links in XML format. Find the URL of the Atom feed in
one of these ways:
<ul>
- <li>Look for the <img src="/images/feed-16.png" alt=""> RSS feed links.</li>
+ <li>Look for the <%= image_tag "feed-16.png", :alt => "RSS icon" %> RSS feed links.</li>
<li>Examine the <code>&lt;link rel="alternate" type="application/atom+xml"&gt;</code> tag in the head of the HTML. </li>
<li>Add <code>/feed</code> to the start of another URL.
</ul>
diff --git a/app/views/layouts/_favicon.html.erb b/app/views/layouts/_favicon.html.erb
index 4f3859d6c..0ee7d48e3 100644
--- a/app/views/layouts/_favicon.html.erb
+++ b/app/views/layouts/_favicon.html.erb
@@ -1 +1 @@
-<link rel="shortcut icon" href="/favicon.ico">
+<%= favicon_link_tag 'favicon.ico' %>
diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb
index 7722efad4..c1f9335b1 100644
--- a/app/views/layouts/admin.html.erb
+++ b/app/views/layouts/admin.html.erb
@@ -4,9 +4,8 @@
<meta http-equiv="content-type" content="text/html;charset=UTF-8" >
<title><%= site_name %> admin<%= @title ? ":" : "" %> <%=@title%></title>
- <%= javascript_include_tag '/javascripts/jquery.js', '/admin/javascripts/jquery-ui.min.js', '/admin/javascripts/bootstrap-collapse', '/admin/javascripts/bootstrap-tab', '/admin/javascripts/admin', '/javascripts/jquery_ujs' %>
- <%= stylesheet_link_tag 'admin-theme/jquery-ui-1.8.15.custom.css', :rel => 'stylesheet'%>
- <%= stylesheet_link_tag "/admin/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
+ <%= javascript_include_tag "admin" %>
+ <%= stylesheet_link_tag "admin", :title => "Main", :rel => "stylesheet" %>
</head>
<body class="admin">
diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index 5895becf7..8d69b2a08 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -14,14 +14,13 @@
<%= render :partial => 'general/stylesheet_includes' %>
<% if is_admin? %>
- <%= stylesheet_link_tag "/admin/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
+ <%= stylesheet_link_tag "admin", :title => "Main", :rel => "stylesheet" %>
<% end %>
- <%= javascript_include_tag 'jquery.js', 'jquery-ui.min','jquery.cookie.js', 'general.js' %>
+ <%= javascript_include_tag "application" %>
<% if @profile_photo_javascript %>
- <script type="text/javascript" src="/javascripts/jquery.Jcrop.js"></script>
- <script type="text/javascript" src="/javascripts/profile_photo.js"></script>
- <link rel="stylesheet" href="/stylesheets/jquery.Jcrop.css" type="text/css" >
+ <%= javascript_include_tag "profile-photos" %>
+ <%= stylesheet_link_tag "jquery.Jcrop.css" %>
<% end %>
<% if @feed_autodetect %>
@@ -44,7 +43,7 @@
</head>
<body class="<%= 'front' if params[:action] == 'frontpage' %>">
<% if AlaveteliConfiguration::force_registration_on_new_request && !@user %>
- <%= javascript_include_tag 'jquery.fancybox-1.3.4.pack' %>
+ <%= javascript_include_tag 'jquery.fancybox-1.3.4.pack.js' %>
<script type="text/javascript">
$(document).ready(function() {
$("#make-request-link").fancybox({
@@ -77,43 +76,7 @@
<% end %>
<div class="entirebody">
- <div id="banner">
- <div id="banner_inner">
- <div class="lang"><%= render :partial => 'general/locale_switcher' %></div>
-
- <% if not (controller.action_name == 'signin' or controller.action_name == 'signup') %>
- <div id="logged_in_bar">
- <% if @user %>
- <%= _('Hello, {{username}}!', :username => h(@user.name))%>
-
- <% if @user %>
- <%=link_to _("My requests"), show_user_requests_path(:url_name => @user.url_name) %>
- <%=link_to _("My profile"), show_user_profile_path(:url_name => @user.url_name) %>
- <%=link_to _("My wall"), show_user_wall_path(:url_name => @user.url_name) %>
- <% end %>
-
-
- <%= link_to _("Sign out"), signout_path(:r => request.fullpath) %>
- <% else %>
- <%= link_to _("Sign in or sign up"), signin_path(:r => request.fullpath) %>
- <% end %>
- </div>
- <% end %>
-
- <div id="navigation_search">
- <form id="navigation_search_form" method="post" action="<%= search_redirect_path %>">
- <p>
- <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query", :title => "type your search term here" } %>
- <input id="navigation_search_button" type="submit" value="search">
- </p>
- </form>
- </div>
-
- <%= render :partial => 'general/orglink' %>
-
- <%= render :partial => 'general/topnav' %>
- </div>
- </div>
+ <%= render :partial => 'general/header' %>
<div id="wrapper">
<div id="content">
<% if flash[:notice] %>
diff --git a/app/views/layouts/no_chrome.html.erb b/app/views/layouts/no_chrome.html.erb
index d7918cffc..e613b8ca2 100644
--- a/app/views/layouts/no_chrome.html.erb
+++ b/app/views/layouts/no_chrome.html.erb
@@ -10,15 +10,13 @@
<% end %>
</title>
- <script type="text/javascript" src="/javascripts/jquery.js"></script>
+ <%= javascript_include_tag "application" %>
- <%= stylesheet_link_tag 'main', :title => "Main", :rel => "stylesheet" %>
+ <%= stylesheet_link_tag 'application', :title => "Main", :rel => "stylesheet" %>
<%= stylesheet_link_tag 'fonts', :rel => "stylesheet" %>
- <%= stylesheet_link_tag 'theme', :rel => "stylesheet" %>
<!--[if LT IE 7]>
- <style type="text/css">@import url("/stylesheets/ie6.css");</style>
+ <%= stylesheet_link_tag 'ie6', :rel => "stylesheet" %>
<![endif]-->
- <%= stylesheet_link_tag 'custom', :title => "Main", :rel => "stylesheet" %>
</head>
<body>
<div class="entirebody">
diff --git a/app/views/public_body/_search_ahead.html.erb b/app/views/public_body/_search_ahead.html.erb
index 3d1dc8f93..2de638034 100644
--- a/app/views/public_body/_search_ahead.html.erb
+++ b/app/views/public_body/_search_ahead.html.erb
@@ -14,7 +14,5 @@
<% end %>
</div>
<%= will_paginate WillPaginate::Collection.new(@page, @per_page, @xapian_requests.matches_estimated), :params => {:controller=>"request", :action => "select_authority"} %>
+ <p><%= raw(_('<a href="{{browse_url}}">Browse all</a> or <a href="{{add_url}}">ask us to add one</a>.', :browse_url => list_public_bodies_default_path.html_safe, :add_url => (help_requesting_path + '#missing_body').html_safe)) %></p>
<% end %>
-
-
-
diff --git a/app/views/public_body/statistics.html.erb b/app/views/public_body/statistics.html.erb
index 840af0c10..d935a9e47 100644
--- a/app/views/public_body/statistics.html.erb
+++ b/app/views/public_body/statistics.html.erb
@@ -52,9 +52,9 @@ are due to him.") %></p>
</tr>
</thead>
<tbody>
- <% graph_data['x_ticks'].each_with_index do |pb_and_index, i| %>
+ <% graph_data['public_bodies'].each_with_index do |pb, i| %>
<tr>
- <td><%= pb_and_index[1] %></td>
+ <td><%= link_to pb['name'], pb['url'] %></td>
<td class="statistic"><%= graph_data['y_values'][i].round %></td>
</tr>
<% end %>
@@ -69,7 +69,7 @@ are due to him.") %></p>
<script type="text/javascript">
var graphs_data = <%= @graph_list.to_json.html_safe %>;
</script>
-<!--[if lte IE 8]><%= javascript_include_tag 'excanvas.min.js' %><![endif]-->
-<%= javascript_include_tag 'jquery.flot.min.js', 'jquery.flot.errorbars.min.js', 'jquery.flot.axislabels.js', 'stats-graphs.js' %>
+<!--[if lte IE 8]><%= javascript_include_tag "excanvas.min.js" %><![endif]-->
+<%= javascript_include_tag "stats" %>
</div>
diff --git a/app/views/reports/new.html.erb b/app/views/reports/new.html.erb
index 7d558ab4e..1197b2255 100644
--- a/app/views/reports/new.html.erb
+++ b/app/views/reports/new.html.erb
@@ -4,17 +4,17 @@
<p><%= _("This request has already been reported for administrator attention") %></p>
<% else %>
<p>
- Reporting a request notifies the site administrators. They will respond as soon as possible.
+ <%= _("Reporting a request notifies the site administrators. They will respond as soon as possible.") %>
</p>
- <p>Why specifically do you consider this request unsuitable?</p>
+ <p><%= _("Why specifically do you consider this request unsuitable?") %></p>
<%= form_tag request_report_path(:request_id => @info_request.url_title) do %>
<p>
<label class="form_label" for="reason">Reason:</label>
- <%= select_tag :reason, options_for_select(@info_request.report_reasons, @reason), :prompt => "Choose a reason" %>
+ <%= select_tag :reason, options_for_select(@info_request.report_reasons, @reason), :prompt => _("Choose a reason") %>
</p>
<p>
- <label class="form_label" for="message">Please tell us more:</label>
+ <label class="form_label" for="message"><%= _("Please tell us more:") %></label>
<%= text_area_tag :message, @message, :rows => 10, :cols => 60 %>
</p>
diff --git a/app/views/request/_act.html.erb b/app/views/request/_act.html.erb
new file mode 100644
index 000000000..1199cb4a2
--- /dev/null
+++ b/app/views/request/_act.html.erb
@@ -0,0 +1,15 @@
+<h2><%= _("Act on what you've learnt") %></h2>
+
+<div class="act_link">
+ <% tweet_link = "https://twitter.com/share?" + {:url => request.url, :via => AlaveteliConfiguration::twitter_username, :text => "'#{@info_request.title}'", :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)}.to_query %>
+ <% link_to tweet_link do %>
+ <%= image_tag "twitter-16.png", :alt => "twitter icon" %>
+ <% end %>
+ <%= link_to _("Tweet this request"), tweet_link %>
+</div>
+<div class="act_link">
+ <%= link_to "http://wordpress.com/" do %>
+ <%= image_tag "wordpress.png", :class => "rss" %>
+ <% end %>
+ <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
+</div>
diff --git a/app/views/request/_bubble.html.erb b/app/views/request/_bubble.html.erb
index 94498612a..e038bb3dc 100644
--- a/app/views/request/_bubble.html.erb
+++ b/app/views/request/_bubble.html.erb
@@ -13,11 +13,11 @@
:file_name => a.display_filename + '.html')
%>
<% img_filename = "icon_" + a.content_type.sub('/', '_') + "_large.png"
- full_filename = File.expand_path(File.join(File.dirname(__FILE__), "../../../public/images", img_filename))
+ full_filename = File.expand_path(Rails.root.join('app', 'assets', 'images', img_filename))
if File.exist?(full_filename) %>
- <a href="<%=attachment_path%>"><img class="attachment_image" alt="Attachment" src="/images/<%=img_filename%>"></a>
+ <%= link_to image_tag(img_filename, :class => "attachment_image", :alt => "Attachment"), attachment_path %>
<% else %>
- <a href="<%=attachment_path%>"><img class="attachment_image" alt="Attachment" src="/images/icon_unknown.png"></a>
+ <%= link_to image_tag("icon_unknown.png", :class => "attachment_image", :alt => "Attachment"), attachment_path %>
<% end %>
<strong><%= h a.display_filename %></strong>
<br>
diff --git a/app/views/request/_incoming_correspondence.text.erb b/app/views/request/_incoming_correspondence.text.erb
index 33ddad926..c5e648d28 100644
--- a/app/views/request/_incoming_correspondence.text.erb
+++ b/app/views/request/_incoming_correspondence.text.erb
@@ -1,5 +1,5 @@
<%- if not incoming_message.user_can_view?(@user) %>
- <%= render :partial => 'request/hidden_correspondence.text', :locals => { :message => incoming_message }%>
+ <%= render :partial => 'request/hidden_correspondence', :formats => 'text', :locals => { :message => incoming_message }%>
<%- else %>
<%= _('From:') %><% if incoming_message.specific_from_name? %> <%= incoming_message.safe_mail_from %><% end %><% if incoming_message.from_public_body? %>, <%= @info_request.public_body.name %><% end %>
<%= _('To:') %> <% if @info_request.user_name %><%= @info_request.user_name %><% else %><%= "[#{_('An anonymous user')}]"%><% end %>
diff --git a/app/views/request/_outgoing_correspondence.text.erb b/app/views/request/_outgoing_correspondence.text.erb
index 80c71cc01..5375ef81b 100644
--- a/app/views/request/_outgoing_correspondence.text.erb
+++ b/app/views/request/_outgoing_correspondence.text.erb
@@ -1,5 +1,5 @@
<%- if not outgoing_message.user_can_view?(@user) %>
- <%= render :partial => 'request/hidden_correspondence.text', :locals => { :message => outgoing_message }%>
+ <%= render :partial => 'request/hidden_correspondence', :formats => 'text', :locals => { :message => outgoing_message }%>
<%- else %>
<%= _('From:') %> <% if @info_request.user_name %><%= @info_request.user_name %><% else %><%= "[#{_('An anonymous user')}]"%><% end %>
<%= _('To:') %> <%= @info_request.public_body.name %>
diff --git a/app/views/request/_request_listing_single.html.erb b/app/views/request/_request_listing_single.html.erb
index 56737fd3e..50f889d75 100644
--- a/app/views/request/_request_listing_single.html.erb
+++ b/app/views/request/_request_listing_single.html.erb
@@ -1,9 +1,9 @@
<div class="request_listing">
- <span class="head">
- <%= link_to h(info_request.title), (@play_urls ? categorise_request_path(:url_title => info_request.url_title) : request_path(info_request)) %>
- </span>
- <span class="desc">
- <%= excerpt(info_request.initial_request_text, "", 150) %>
+ <span class="head">
+ <%= link_to h(info_request.title), (@play_urls ? categorise_request_path(:url_title => info_request.url_title) : request_path(info_request)) %>
+ </span>
+ <span class="desc">
+ <%= excerpt(info_request.initial_request_text, "", :radius => 150) %>
</span>
<span class="bottomline icon_<%= info_request.calculate_status %>">
<strong>
diff --git a/app/views/request/_sidebar.html.erb b/app/views/request/_sidebar.html.erb
index 8d4a4a2d8..0f7965ffa 100644
--- a/app/views/request/_sidebar.html.erb
+++ b/app/views/request/_sidebar.html.erb
@@ -33,34 +33,21 @@
<%= link_to _("Report this request"), new_request_report_path(:request_id => @info_request.url_title) %>
<% end %>
<% end %>
- <h2><%= _("Act on what you've learnt") %></h2>
-
- <div class="act_link">
- <% tweet_link = "https://twitter.com/share?" + {:url => request.url, :via => AlaveteliConfiguration::twitter_username, :text => "'#{@info_request.title}'", :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)}.to_query %>
- <% link_to tweet_link do %>
- <%= image_tag "twitter-16.png", :alt => "twitter icon" %>
- <% end %>
- <%= link_to _("Tweet this request"), tweet_link %>
- </div>
- <div class="act_link">
- <%= link_to "http://wordpress.com/" do %>
- <%= image_tag "wordpress.png", :class => "rss" %>
- <% end %>
- <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
- </div>
-
+ <%= render :partial => 'request/act' %>
<%= render :partial => 'request/next_actions' %>
- <% # TODO: Cache for 1 day %>
- <% if !@xapian_similar.nil? && @xapian_similar.results.size > 0 %>
+ <% cache_if_caching_fragments(@similar_cache_key, :expires_in => 1.day) do %>
+ <% xapian_similar, xapian_similar_more = @info_request.similar_requests %>
+ <% if !xapian_similar.nil? && xapian_similar.results.size > 0 %>
<h2><%= _('Similar requests')%></h2>
- <% for result in @xapian_similar.results %>
+ <% for result in xapian_similar.results %>
<%= render :partial => 'request/request_listing_short_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
<% end %>
- <% if @xapian_similar_more %>
+ <% if xapian_similar_more %>
<p><%= link_to _("More similar requests"), similar_request_path(@info_request.url_title) %></p>
<% end %>
<% end %>
+ <% end %>
<p><%= link_to _('Event history details'), request_details_path(@info_request) %></p>
diff --git a/app/views/request/_view_html_prefix.html.erb b/app/views/request/_view_html_prefix.html.erb
index 3a9946745..63caa98d4 100644
--- a/app/views/request/_view_html_prefix.html.erb
+++ b/app/views/request/_view_html_prefix.html.erb
@@ -1,6 +1,6 @@
<div class="view_html_prefix">
<div class="view_html_logo">
- <a href="/"><img src="/images/navimg/logo-trans-small.png" alt="<%= site_name %>"></a>
+ <a href="/"><%= image_tag "navimg/logo-trans-small.png", :alt => site_name %></a>
</div>
<div class="view_html_download_link">
<%=link_to _("Download original attachment"), @attachment_url %>
diff --git a/app/views/request/new.html.erb b/app/views/request/new.html.erb
index f8b97ffe3..849a94216 100644
--- a/app/views/request/new.html.erb
+++ b/app/views/request/new.html.erb
@@ -1,4 +1,3 @@
-<script type="text/javascript" src="/javascripts/ba-throttle-debounce.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// Avoid triggering too often (on each keystroke) by using the debounce jQuery plugin:
diff --git a/app/views/request/select_authority.html.erb b/app/views/request/select_authority.html.erb
index 75c51fc57..4f117ee75 100644
--- a/app/views/request/select_authority.html.erb
+++ b/app/views/request/select_authority.html.erb
@@ -1,4 +1,3 @@
-<script type="text/javascript" src="/javascripts/ba-throttle-debounce.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#authority_preview").hide();
diff --git a/app/views/request/show.text.erb b/app/views/request/show.text.erb
index 29ac2987f..8079d10d5 100644
--- a/app/views/request/show.text.erb
+++ b/app/views/request/show.text.erb
@@ -4,13 +4,13 @@
<% if info_request_event.visible %>
<% case info_request_event.event_type %>
<% when 'response' %>
- <%= render :partial => 'request/incoming_correspondence.text', :locals => { :incoming_message => info_request_event.incoming_message } %>
+ <%= render :partial => 'request/incoming_correspondence', :formats => 'text', :locals => { :incoming_message => info_request_event.incoming_message } %>
<% when 'sent', 'followup_sent' %>
- <%= render :partial => 'request/outgoing_correspondence.text', :locals => { :outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
+ <%= render :partial => 'request/outgoing_correspondence', :formats => 'text', :locals => { :outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
<% when 'resent', 'followup_resent' %>
- <%= render :partial => 'request/resent_outgoing_correspondence.text', :locals => { outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
+ <%= render :partial => 'request/resent_outgoing_correspondence', :formats => 'text', :locals => { outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
<% when 'comment' %>
- <%= render :partial => 'comment/single_comment.text', :locals => { :comment => info_request_event.comment } %>
+ <%= render :partial => 'comment/single_comment', :formats => 'text', :locals => { :comment => info_request_event.comment } %>
<% end %>
-------------------------------
<% end %>
diff --git a/app/views/track/_tracking_links.html.erb b/app/views/track/_tracking_links.html.erb
index a16dbc78f..a3cd8fc60 100644
--- a/app/views/track/_tracking_links.html.erb
+++ b/app/views/track/_tracking_links.html.erb
@@ -21,7 +21,7 @@
</div>
<div class="feed_link feed_link_<%=location%>">
- <%= link_to '<img src="/images/feed-16.png" alt="">'.html_safe, do_track_path(track_thing, 'feed') %>
+ <%= link_to image_tag('feed-16.png', :alt => "RSS icon"), do_track_path(track_thing, 'feed') %>
<%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')), do_track_path(track_thing, 'feed') %>
</div>
<% end %>
diff --git a/app/views/track/atom_feed.atom.erb b/app/views/track/atom_feed.atom.erb
index a12b9eff0..be9c39e72 100644
--- a/app/views/track/atom_feed.atom.erb
+++ b/app/views/track/atom_feed.atom.erb
@@ -9,7 +9,7 @@
# Get the HTML content from the same partial template as website search does
content = ''
if result[:model].class.to_s == 'InfoRequestEvent'
- content += render :partial => 'request/request_listing_via_event.html', :locals => { :event => result[:model], :info_request => result[:model].info_request }
+ content += render :partial => 'request/request_listing_via_event', :formats => ['html'], :locals => { :event => result[:model], :info_request => result[:model].info_request }
else
content = "<p><strong>Unknown search result type " + result[:model].class.to_s + "</strong></p>"
end
diff --git a/app/views/user/_show_user_info.html.erb b/app/views/user/_show_user_info.html.erb
index 305300236..9182f0733 100644
--- a/app/views/user/_show_user_info.html.erb
+++ b/app/views/user/_show_user_info.html.erb
@@ -1,7 +1,7 @@
<% if !@display_user.get_about_me_for_html_display.empty? || @is_you %>
<div class="user_about_me">
- <img class="comment_quote" src="/images/quote-marks.png" alt="">
+ <%= image_tag "quote-marks.png", :class => "comment_quote" %>
<%= @display_user.get_about_me_for_html_display %>
<% if @is_you %>
(<%= link_to _("edit text about you"), set_profile_about_me_path %>)
diff --git a/commonlib b/commonlib
-Subproject 9462a28fe12b25637d6e67d7140d444632e3ff7
+Subproject ad27f5409ef3ed1b800aa08c1d70a018443dcfd
diff --git a/config/application.rb b/config/application.rb
index 92fd30685..3c749a531 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -6,7 +6,7 @@ require File.dirname(__FILE__) + '/../lib/configuration'
# If you have a Gemfile, require the gems listed there, including any gems
# you've limited to :test, :development, or :production.
-Bundler.require(:default, Rails.env) if defined?(Bundler)
+Bundler.require(:default, :assets, Rails.env) if defined?(Bundler)
module Alaveteli
class Application < Rails::Application
@@ -31,6 +31,7 @@ module Alaveteli
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
+ I18n.config.enforce_available_locales = false
# JavaScript files you want as :defaults (application.js is always included).
# config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
@@ -55,6 +56,10 @@ module Alaveteli
# will be in this time zone
config.time_zone = ::AlaveteliConfiguration::time_zone
+ # Set the cache to use a memcached backend
+ config.cache_store = :mem_cache_store, { :namespace => AlaveteliConfiguration::domain }
+ config.action_dispatch.rack_cache = nil
+
config.after_initialize do |app|
require 'routing_filters.rb'
# Add a catch-all route to force routing errors to be handled by the application,
@@ -70,6 +75,33 @@ module Alaveteli
# Insert a bit of middleware code to prevent uneeded cookie setting.
require "#{Rails.root}/lib/whatdotheyknow/strip_empty_sessions"
- config.middleware.insert_before ActionDispatch::Session::CookieStore, WhatDoTheyKnow::StripEmptySessions, :key => '_wdtk_cookie_session', :path => "/", :httponly => true
+ config.middleware.insert_before ::ActionDispatch::Cookies, WhatDoTheyKnow::StripEmptySessions, :key => '_wdtk_cookie_session', :path => "/", :httponly => true
+
+ # Enable the asset pipeline
+ config.assets.enabled = true
+
+ # Version of your assets, change this if you want to expire all your assets
+ config.assets.version = '1.0'
+
+ # Change the path that assets are served from
+ # config.assets.prefix = "/assets"
+
+ # These additional precompiled Javascript files are actually
+ # manifests that require the real javascript files:
+ config.assets.precompile += ['admin.js',
+ 'profile-photos.js',
+ 'stats.js']
+ # ... while these are individual files that can't easily be
+ # grouped:
+ config.assets.precompile += ['jquery.fancybox-1.3.4.pack.js',
+ 'jquery.fancybox-1.3.4.css',
+ 'jquery.Jcrop.css',
+ 'excanvas.min.js',
+ 'fonts.css',
+ 'print.css',
+ 'admin.css',
+ 'ie6.css',
+ 'ie7.css']
+
end
end
diff --git a/config/deploy.rb b/config/deploy.rb
index d26a199c8..3a4f175b4 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -13,6 +13,7 @@ set :git_enable_submodules, true
set :deploy_to, configuration['deploy_to']
set :user, configuration['user']
set :use_sudo, false
+set :rails_env, configuration['rails_env']
server configuration['server'], :app, :web, :db, :primary => true
@@ -54,10 +55,9 @@ namespace :deploy do
"#{release_path}/config/aliases" => "#{shared_path}/aliases",
"#{release_path}/public/foi-live-creation.png" => "#{shared_path}/foi-live-creation.png",
"#{release_path}/public/foi-user-use.png" => "#{shared_path}/foi-user-use.png",
- "#{release_path}/public/favicon.ico" => "#{shared_path}/favicon.ico",
"#{release_path}/files" => "#{shared_path}/files",
"#{release_path}/cache" => "#{shared_path}/cache",
- "#{release_path}/vendor/plugins/acts_as_xapian/xapiandbs" => "#{shared_path}/xapiandbs",
+ "#{release_path}/lib/acts_as_xapian/xapiandbs" => "#{shared_path}/xapiandbs",
}
# "ln -sf <a> <b>" creates a symbolic link but deletes <b> if it already exists
diff --git a/config/deploy.yml.example b/config/deploy.yml.example
index 61931e50e..a20eb3c22 100644
--- a/config/deploy.yml.example
+++ b/config/deploy.yml.example
@@ -4,10 +4,12 @@ production:
branch: master
server: www.example.com
user: deploy
+ rails_env: production
deploy_to: /srv/www/alaveteli_production
staging:
repository: git://github.com/mysociety/alaveteli.git
branch: develop
server: test.example.com
user: deploy
+ rails_env: production
deploy_to: /srv/www/alaveteli_staging
diff --git a/config/environments/development.rb b/config/environments/development.rb
index a912dd5de..dbf8d7b2a 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -32,4 +32,18 @@ Alaveteli::Application.configure do
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
+
+ # Do not compress assets
+ config.assets.compress = false
+
+ # Expands the lines which load the assets
+ config.assets.debug = true
+
+ # Raise exception on mass assignment protection for Active Record models
+ config.active_record.mass_assignment_sanitizer = :strict
+
+ # Log the query plan for queries taking more than this (works
+ # with SQLite, MySQL, and PostgreSQL)
+ config.active_record.auto_explain_threshold_in_seconds = 0.5
+
end
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 0c1929366..a3e3cebd2 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -31,4 +31,21 @@ Alaveteli::Application.configure do
if AlaveteliConfiguration::force_ssl
config.middleware.insert_before ActionDispatch::Cookies, ::Rack::SSL
end
+
+ # Compress JavaScripts and CSS
+ config.assets.compress = true
+
+ # Choose the compressors to use
+ # config.assets.js_compressor = :uglifier
+ # config.assets.css_compressor = :yui
+
+ # Don't fallback to assets pipeline if a precompiled asset is missed
+ config.assets.compile = false
+
+ # Generate digests for assets URLs.
+ config.assets.digest = true
+
+ # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
+ # config.assets.precompile += %w( search.js )
+
end
diff --git a/config/environments/test.rb b/config/environments/test.rb
index df39e8873..97c2d4f7c 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -24,4 +24,9 @@ Alaveteli::Application.configure do
# Print deprecation notices to the stderr
config.active_support.deprecation = :stderr
+ if !AlaveteliConfiguration.exception_notifications_from.blank? && !AlaveteliConfiguration.exception_notifications_to.blank?
+ middleware.use ExceptionNotifier,
+ :sender_address => AlaveteliConfiguration::exception_notifications_from,
+ :exception_recipients => AlaveteliConfiguration::exception_notifications_to
+ end
end
diff --git a/config/general.yml-example b/config/general.yml-example
index 60eb5ae1c..b8d9fc854 100644
--- a/config/general.yml-example
+++ b/config/general.yml-example
@@ -209,3 +209,8 @@ PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE: false
# If true, while in development mode, try to send mail by SMTP to port
# 1025 (the port the mailcatcher listens on by default):
USE_MAILCATCHER_IN_DEVELOPMENT: true
+
+# Use memcached to cache HTML fragments for better performance. Will
+# only have an effect in environments where
+# config.action_controller.perform_caching is set to true
+CACHE_FRAGMENTS: true
diff --git a/config/initializers/acts_as_xapian.rb b/config/initializers/acts_as_xapian.rb
new file mode 100644
index 000000000..f82193c85
--- /dev/null
+++ b/config/initializers/acts_as_xapian.rb
@@ -0,0 +1,25 @@
+# acts_as_xapian/init.rb:
+#
+# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
+# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
+
+# We're moving plugins out of vendor/plugins, since keeping them there
+# is deprecated as of Rails 3.2, and the xapiandbs directory should be
+# moved out of there along with the plugin itself.
+
+old_xapiandbs_path = Rails.root.join('vendor',
+ 'plugins',
+ 'acts_as_xapian',
+ 'xapiandbs')
+
+current_xapiandbs_path = Rails.root.join('lib',
+ 'acts_as_xapian',
+ 'xapiandbs')
+
+if File.exists? old_xapiandbs_path
+ unless File.exists? current_xapiandbs_path
+ File.rename old_xapiandbs_path, current_xapiandbs_path
+ end
+end
+
+require 'acts_as_xapian/acts_as_xapian'
diff --git a/config/initializers/alaveteli.rb b/config/initializers/alaveteli.rb
index 8ae78c80c..760c138a7 100644
--- a/config/initializers/alaveteli.rb
+++ b/config/initializers/alaveteli.rb
@@ -10,7 +10,7 @@ load "debug_helpers.rb"
load "util.rb"
# Application version
-ALAVETELI_VERSION = '0.14'
+ALAVETELI_VERSION = '0.15'
# Add new inflection rules using the following format
# (all these examples are active by default):
@@ -50,6 +50,7 @@ require 'normalize_string'
require 'alaveteli_file_types'
require 'alaveteli_localization'
require 'message_prominence'
+require 'theme'
AlaveteliLocalization.set_locales(AlaveteliConfiguration::available_locales,
AlaveteliConfiguration::default_locale)
diff --git a/config/initializers/has_tag_string.rb b/config/initializers/has_tag_string.rb
new file mode 100644
index 000000000..5fa33cc70
--- /dev/null
+++ b/config/initializers/has_tag_string.rb
@@ -0,0 +1,2 @@
+require 'has_tag_string/has_tag_string'
+
diff --git a/config/initializers/strip_attributes.rb b/config/initializers/strip_attributes.rb
new file mode 100644
index 000000000..25f70b2f3
--- /dev/null
+++ b/config/initializers/strip_attributes.rb
@@ -0,0 +1,2 @@
+require 'strip_attributes/strip_attributes'
+ActiveRecord::Base.extend(StripAttributes)
diff --git a/config/initializers/theme_loader.rb b/config/initializers/theme_loader.rb
index 1ad2d01f1..9c79e513c 100644
--- a/config/initializers/theme_loader.rb
+++ b/config/initializers/theme_loader.rb
@@ -3,7 +3,9 @@
$alaveteli_route_extensions = []
def require_theme(theme_name)
- theme_main_include = File.expand_path "../../../vendor/plugins/#{theme_name}/lib/alavetelitheme.rb", __FILE__
+ theme_lib = Rails.root.join 'lib', 'themes', theme_name, 'lib'
+ $LOAD_PATH.unshift theme_lib.to_s
+ theme_main_include = Rails.root.join theme_lib, "alavetelitheme.rb"
if File.exists? theme_main_include
require theme_main_include
end
@@ -18,7 +20,6 @@ if Rails.env == "test"
end
else
for url in AlaveteliConfiguration::theme_urls.reverse
- theme_name = url.sub(/.*\/(.*).git/, "\\1")
- require_theme(theme_name)
+ require_theme theme_url_to_theme_name(url)
end
end
diff --git a/config/packages b/config/packages
index 8bb00a849..9a07c5f20 100644
--- a/config/packages
+++ b/config/packages
@@ -38,3 +38,4 @@ bundler
sqlite3
libsqlite3-dev
libicu-dev
+memcached
diff --git a/config/test.yml b/config/test.yml
index b26ca99d4..599e1e81a 100644
--- a/config/test.yml
+++ b/config/test.yml
@@ -116,7 +116,7 @@ HTML_TO_PDF_COMMAND: /usr/local/bin/wkhtmltopdf-amd64
# Exception notifications
EXCEPTION_NOTIFICATIONS_FROM: do-not-reply-to-this-address@example.com
-EXCEPTION_NOTIFICATIONS_TO:
+EXCEPTION_NOTIFICATIONS_TO: exception-recipient@example.com
MAX_REQUESTS_PER_USER_PER_DAY: 2
diff --git a/db/migrate/20131101155844_add_stats_denominator.rb b/db/migrate/20131101155844_add_stats_denominator.rb
new file mode 100644
index 000000000..7df4c8200
--- /dev/null
+++ b/db/migrate/20131101155844_add_stats_denominator.rb
@@ -0,0 +1,15 @@
+class AddStatsDenominator < ActiveRecord::Migration
+ def up
+ add_column :public_bodies, :info_requests_visible_classified_count, :integer
+ PublicBody.connection.execute("UPDATE public_bodies
+ SET info_requests_visible_classified_count =
+ (SELECT COUNT(*) FROM info_requests
+ WHERE awaiting_description = FALSE AND
+ prominence = 'normal' AND
+ public_body_id = public_bodies.id);")
+ end
+
+ def down
+ remove_column :public_bodies, :info_requests_visible_classified_count
+ end
+end
diff --git a/doc/ADMIN.md b/doc/ADMIN.md
deleted file mode 100644
index 6248e6cfc..000000000
--- a/doc/ADMIN.md
+++ /dev/null
@@ -1,19 +0,0 @@
-Doing development work on the administration interface
-======================================================
-
-The Alaveteli admin interface uses Twitter's Bootstrap project to prettify it.
-
-If you want to work on the CSS, you'll want to use
-[bootstrap-sass](https://github.com/thomas-mcdonald/bootstrap-sass). Do something like:
-
-
- $ gem install bootstrap-sass
- $ gem install compass
- $ compass compile --config .compass/config.rb
-
-To change the JavaScript, edit `public/admin/javascripts/admin.coffee`
-and then run:
-
- $ coffee -c public/admin/javascripts/admin.coffee
-
-That will update `public/admin/javascripts/admin.js`. \ No newline at end of file
diff --git a/doc/CHANGES.md b/doc/CHANGES.md
index 9ad605559..45b8c3cc9 100644
--- a/doc/CHANGES.md
+++ b/doc/CHANGES.md
@@ -1,3 +1,31 @@
+# Version 0.15
+
+## Highlighted features
+
+* A new install script for setting up Alaveteli automatically on
+ a fresh Debian wheezy or Ubuntu precise server, and a
+ Vagrantfile so that it can be easily invoked by `vagrant up`
+* Salutations in outgoing messages now can contain regular
+ expression special characters.
+* The links to public bodies from the first letters of the
+ alphabet now work properly in when the letter would be
+ represented by multiple bytes in UTF-8.
+* There are improvements to searching for public bodies and
+ when the "ask us to add one" message is shown.
+* There is a fix for the
+ [long-standing error](https://github.com/mysociety/alaveteli/issues/555)
+ about duplicate Xapian job creation.
+* A new rake task for importing large numbers of public bodies
+ from CSV files: `rake import:import_csv`.
+* Various improvements to the public body statistics graphs,
+ thanks to feedback from the WDTK volunteers.
+* The new_relic gem has been updated (Matthew Landauer)
+* An example nginx config file for running Alaveteli behind
+ nginx: `config/nginx.conf.example`.
+* There's now a simple script for switching between themes
+ (`script/switch-theme.rb`) for developers who have to work on
+ more than one jurisdiction's theme.
+
# Version 0.14
## Highlighted features
diff --git a/doc/INSTALL.md b/doc/INSTALL.md
index f39789936..3decb53a3 100644
--- a/doc/INSTALL.md
+++ b/doc/INSTALL.md
@@ -15,11 +15,10 @@ This creates an instance that runs in development mode, so we
wouldn't recommend you use it for a production system without
changing the configuration.
-If you haven't used Amazon Web Services before, then you can get
-a Micro instance which will be
-[free for a year](http://aws.amazon.com/free/). You will find
-that a micro instance isn't powerful enough for anything other
-very basic testing of Alaveteli, however.
+Unfortunately, Alaveteli will not run properly on a free Micro
+instance due to the low amount of memory available on those
+instances; you will need to use at least a Small instance, which
+Amazon will charge for.
The AMI can be found in the EU West (Ireland) region, with the
ID ami-0f24c678 and name “Basic Alaveteli installation
diff --git a/doc/THEME-ASSETS-UPGRADE.md b/doc/THEME-ASSETS-UPGRADE.md
new file mode 100644
index 000000000..12c1a60d1
--- /dev/null
+++ b/doc/THEME-ASSETS-UPGRADE.md
@@ -0,0 +1,76 @@
+This document has notes on switching your Alaveteli theme to use
+the Rails asset pipeline.
+
+Firstly, add the following to your `lib/alavetelitheme.rb`, in
+order to add the subdirectories of your theme's `assets`
+directory to `config.assets.path`:
+
+ # Prepend the asset directories in this theme to the asset path:
+ ['stylesheets', 'images', 'javascripts'].each do |asset_type|
+ theme_asset_path = File.join(File.dirname(__FILE__),
+ '..',
+ 'assets',
+ asset_type)
+ Rails.application.config.assets.paths.unshift theme_asset_path
+ end
+
+In the root of your theme, create these directories:
+
+ assets
+ \ images
+ \ stylesheets
+ \ javascripts
+
+i.e. `assets` is at the same level as `lib` and `locale-theme`.
+
+Move any image files from `public/images` to `assets/images`.
+Now change any references to those images with a literal `<img>`
+tag to use `image_tag` instead. For example, instead of:
+
+ <img src="/images/helpmeinvestigate.png" alt="" class="rss">
+
+... you should have:
+
+ image_tag('helpmeinvestigate.png', :alt => "", :class => "rss")
+
+If you have a favicon.ico file in your theme's `public` directory, you should move it to `assets/images` as well.
+
+You should similarly move your stylesheets into
+`assets/stylesheets`. If a stylesheet refers to images, you
+should rename the `.css` file to `.css.scss`, and change `url`
+to the sass-rails `image-url` helper. e.g. instead of:
+
+ background-image: url(../images/mysociety.png);
+
+... you should have:
+
+ background-image: image-url('mysociety.png');
+
+If your only stylesheet is called `custom.css`, as in the
+example theme, you shouldn't need to make any other changes to
+the CSS. If you have added additional stylesheets
+(e.g. `extra.css`), then you'll need to both:
+
+1. add them to
+`lib/views/general/_stylesheet_includes.html.erb`, for example
+with:
+
+ <%= stylesheet_link_tag "extra" %>
+
+2. add the following in `lib/alavetelitheme.rb`:
+
+ config.assets.precompile.push 'extra.css'
+
+Any custom Javascript should be moved to `assets/javascripts` in
+your theme directory, and, simlarly to the additional CSS, it
+should be mentioned in `lib/alavetelitheme.rb` with:
+
+ config.assets.precompile.push 'fancy-effects.js'
+
+You should be left with nothing in the `public` directory after
+making these changes, except possibly custom error pages.
+
+Remove the code that symlinks the theme 'public' directory to a
+subdirectory of the main application's 'public' directory from
+install.rb. Also remove the code from uninstall.rb that removes that
+symlink. The asset pipeline will handle making assets available.
diff --git a/doc/TRANSLATE.md b/doc/TRANSLATE.md
index f8b4adbcb..aef2cfdc9 100644
--- a/doc/TRANSLATE.md
+++ b/doc/TRANSLATE.md
@@ -46,6 +46,10 @@ application developers about the context in which the text appears in the
application - these comments will appear under the 'Details' tab for the
text in Transifex.
+Some texts will have placeholders in them to indicate that another bit of text generated by Alaveteli will be inserted into them when they're displayed. They will look like `some text with a {{placeholder}}`. For these texts, don't translate the placeholder. It needs to stay exactly the same for the text to be inserted properly.
+
+Similarly, some texts will have some code in angle brackets in them to turn bits of the text into links, and other small bits of HTML formatting. e.g. `please <a href=\"{{url}}\">send it to us</a>`. Again, don't edit the bits in angle brackets, preserve them in your translation, just edit the text around them.
+
Some bits of text are in the form of two bits of text separated by a `|`
character e.g. `IncomingMessage|Subject`. These represent attribute names, so
`IncomingMessage|Subject` is the subject attribute of an incoming message on
@@ -75,7 +79,7 @@ must:
language, using `bundle exec rake
gettext:store_model_attributes`, followed by `bundle exec rake
gettext:find`
- * careful of including msgids from themes in `vendor/plugin`;
+ * careful of including msgids from themes in `lib/themes`;
you might want to move them out of the way before running
the above commands
* this updates the PO template, but also merges it with the
diff --git a/vendor/plugins/acts_as_xapian/.gitignore b/lib/acts_as_xapian/.gitignore
index 60e95666f..60e95666f 100644
--- a/vendor/plugins/acts_as_xapian/.gitignore
+++ b/lib/acts_as_xapian/.gitignore
diff --git a/vendor/plugins/acts_as_xapian/LICENSE.txt b/lib/acts_as_xapian/LICENSE.txt
index 72d93c4be..72d93c4be 100644
--- a/vendor/plugins/acts_as_xapian/LICENSE.txt
+++ b/lib/acts_as_xapian/LICENSE.txt
diff --git a/vendor/plugins/acts_as_xapian/README.txt b/lib/acts_as_xapian/README.txt
index a1d22ef3f..a1d22ef3f 100644
--- a/vendor/plugins/acts_as_xapian/README.txt
+++ b/lib/acts_as_xapian/README.txt
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/lib/acts_as_xapian/acts_as_xapian.rb
index 2e486f328..b30bb4d10 100644
--- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
+++ b/lib/acts_as_xapian/acts_as_xapian.rb
@@ -100,7 +100,7 @@ module ActsAsXapian
if config['base_db_path']
db_parent_path = Rails.root.join(config['base_db_path'])
else
- db_parent_path = File.join(File.dirname(__FILE__), '../xapiandbs/')
+ db_parent_path = File.join(File.dirname(__FILE__), 'xapiandbs')
end
# make the directory for the xapian databases to go in
diff --git a/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake b/lib/acts_as_xapian/tasks/xapian.rake
index c1986ce1e..c1986ce1e 100644
--- a/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake
+++ b/lib/acts_as_xapian/tasks/xapian.rake
diff --git a/lib/configuration.rb b/lib/configuration.rb
index fba70f27c..2192433f7 100644
--- a/lib/configuration.rb
+++ b/lib/configuration.rb
@@ -21,6 +21,7 @@ module AlaveteliConfiguration
:AVAILABLE_LOCALES => '',
:BLACKHOLE_PREFIX => 'do-not-reply-to-this-address',
:BLOG_FEED => '',
+ :CACHE_FRAGMENTS => true,
:CONTACT_EMAIL => 'contact@localhost',
:CONTACT_NAME => 'Alaveteli',
:COOKIE_STORE_SESSION_SECRET => 'this default is insecure as code is open source, please override for live sites in config/general; this will do for local development',
diff --git a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/USAGE b/lib/generators/acts_as_xapian/USAGE
index 2d027c46f..2d027c46f 100644
--- a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/USAGE
+++ b/lib/generators/acts_as_xapian/USAGE
diff --git a/lib/generators/acts_as_xapian/acts_as_xapian_generator.rb b/lib/generators/acts_as_xapian/acts_as_xapian_generator.rb
new file mode 100644
index 000000000..434c02cb5
--- /dev/null
+++ b/lib/generators/acts_as_xapian/acts_as_xapian_generator.rb
@@ -0,0 +1,10 @@
+require 'rails/generators/active_record/migration'
+
+class ActsAsXapianGenerator < Rails::Generators::Base
+ include Rails::Generators::Migration
+ extend ActiveRecord::Generators::Migration
+ source_root File.expand_path("../templates", __FILE__)
+ def create_migration_file
+ migration_template "migration.rb", "db/migrate/add_acts_as_xapian_jobs.rb"
+ end
+end
diff --git a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/templates/migration.rb b/lib/generators/acts_as_xapian/templates/migration.rb
index 84a9dd766..84a9dd766 100644
--- a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/templates/migration.rb
+++ b/lib/generators/acts_as_xapian/templates/migration.rb
diff --git a/vendor/plugins/has_tag_string/README.txt b/lib/has_tag_string/README.txt
index 0d3a38229..0d3a38229 100644
--- a/vendor/plugins/has_tag_string/README.txt
+++ b/lib/has_tag_string/README.txt
diff --git a/vendor/plugins/has_tag_string/lib/has_tag_string.rb b/lib/has_tag_string/has_tag_string.rb
index 4022faaac..4022faaac 100644
--- a/vendor/plugins/has_tag_string/lib/has_tag_string.rb
+++ b/lib/has_tag_string/has_tag_string.rb
diff --git a/lib/i18n_fixes.rb b/lib/i18n_fixes.rb
index 9f0849e75..64c370477 100644
--- a/lib/i18n_fixes.rb
+++ b/lib/i18n_fixes.rb
@@ -35,7 +35,7 @@ def gettext_interpolate(string, values)
pattern, key = $1, $1.to_sym
if !values.include?(key)
- raise I18n::MissingInterpolationArgument.new(pattern, string)
+ raise I18n::MissingInterpolationArgument.new(pattern, string, values)
else
v = values[key].to_s
if safe && !v.html_safe?
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb
index 28c486e1b..e019eba97 100644
--- a/lib/mail_handler/backends/mail_backend.rb
+++ b/lib/mail_handler/backends/mail_backend.rb
@@ -95,7 +95,7 @@ module MailHandler
def get_from_address(mail)
first_from = first_from(mail)
if first_from
- if first_from.is_a?(ActiveSupport::Multibyte::Chars)
+ if first_from.is_a?(String)
return nil
else
return first_from.address
@@ -109,7 +109,7 @@ module MailHandler
def get_from_name(mail)
first_from = first_from(mail)
if first_from
- if first_from.is_a?(ActiveSupport::Multibyte::Chars)
+ if first_from.is_a?(String)
return nil
else
return (first_from.display_name || nil)
diff --git a/lib/mail_handler/backends/mail_extensions.rb b/lib/mail_handler/backends/mail_extensions.rb
index 029331802..87af526bf 100644
--- a/lib/mail_handler/backends/mail_extensions.rb
+++ b/lib/mail_handler/backends/mail_extensions.rb
@@ -7,54 +7,6 @@ module Mail
attr_accessor :within_rfc822_attachment # for parts within a message attached as text (for getting subject mainly)
attr_accessor :count_parts_count
attr_accessor :count_first_uudecode_count
-
- # A patched version of the message initializer to work around a bug where stripping the original
- # input removes meaningful spaces - e.g. in the case of uuencoded bodies.
- def initialize(*args, &block)
- @body = nil
- @body_raw = nil
- @separate_parts = false
- @text_part = nil
- @html_part = nil
- @errors = nil
- @header = nil
- @charset = 'UTF-8'
- @defaulted_charset = true
-
- @perform_deliveries = true
- @raise_delivery_errors = true
-
- @delivery_handler = nil
-
- @delivery_method = Mail.delivery_method.dup
-
- @transport_encoding = Mail::Encodings.get_encoding('7bit')
-
- @mark_for_delete = false
-
- if args.flatten.first.respond_to?(:each_pair)
- init_with_hash(args.flatten.first)
- else
- # The replacement of this commented out line is the change.
- # init_with_string(args.flatten[0].to_s.strip)
- init_with_string(args.flatten[0].to_s)
- end
-
- if block_given?
- instance_eval(&block)
- end
-
- self
- end
-
- def set_envelope_header
- raw_string = raw_source.to_s
- if match_data = raw_source.to_s.match(/\AFrom\s(#{TEXT}+)#{CRLF}/m)
- set_envelope(match_data[1])
- self.raw_source = raw_string.sub(match_data[0], "")
- end
- end
-
end
# A patched version of the parameter hash that handles nil values without throwing
@@ -77,6 +29,7 @@ module Mail
# HACK: Backport encoding fixes for Ruby 1.8 from Mail 2.5
# Can be removed when we no longer support Ruby 1.8
class Ruby18
+
def Ruby18.b_value_decode(str)
match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/m)
if match
@@ -129,11 +82,11 @@ module Mail
def Ruby19.b_value_decode(str)
match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/m)
if match
- encoding = match[1]
+ charset = match[1]
str = Ruby19.decode_base64(match[2])
# Rescue an ArgumentError arising from an unknown encoding.
begin
- str.force_encoding(fix_encoding(encoding))
+ str.force_encoding(pick_encoding(charset))
rescue ArgumentError
end
end
@@ -141,18 +94,5 @@ module Mail
decoded.valid_encoding? ? decoded : decoded.encode("utf-16le", :invalid => :replace, :replace => "").encode("utf-8")
end
- def Ruby19.q_value_decode(str)
- match = str.match(/\=\?(.+)?\?[Qq]\?(.+)?\?\=/m)
- if match
- encoding = match[1]
- str = Encodings::QuotedPrintable.decode(match[2].gsub(/_/, '=20'))
- # Backport line from mail 2.5 to strip a trailing = character
- # Remove trailing = if it exists in a Q encoding
- str = str.sub(/\=$/, '')
- str.force_encoding(fix_encoding(encoding))
- end
- decoded = str.encode("utf-8", :invalid => :replace, :replace => "")
- decoded.valid_encoding? ? decoded : decoded.encode("utf-16le", :invalid => :replace, :replace => "").encode("utf-8")
- end
end
end
diff --git a/lib/mail_handler/mail_handler.rb b/lib/mail_handler/mail_handler.rb
index 918f91180..53033d440 100644
--- a/lib/mail_handler/mail_handler.rb
+++ b/lib/mail_handler/mail_handler.rb
@@ -59,7 +59,7 @@ module MailHandler
end
# e.g. http://www.whatdotheyknow.com/request/copy_of_current_swessex_scr_opt#incoming-9928
- if content_type == 'application/acrobat'
+ if content_type == 'application/acrobat' or content_type == 'document/pdf'
content_type = 'application/pdf'
end
diff --git a/lib/no_constraint_disabling.rb b/lib/no_constraint_disabling.rb
index d515a959a..32a4a6bfe 100644
--- a/lib/no_constraint_disabling.rb
+++ b/lib/no_constraint_disabling.rb
@@ -47,7 +47,7 @@ module ActiveRecord
connection,
table_name,
class_names[table_name.to_sym] || table_name.classify,
- File.join(fixtures_directory, path))
+ ::File.join(fixtures_directory, path))
end
all_loaded_fixtures.update(fixtures_map)
diff --git a/lib/quiet_opener.rb b/lib/quiet_opener.rb
index ae6605c43..16ea27b8e 100644
--- a/lib/quiet_opener.rb
+++ b/lib/quiet_opener.rb
@@ -1,6 +1,8 @@
require 'open-uri'
require 'net-purge'
-require 'net/http/local'
+if RUBY_VERSION.to_f < 2.0
+ require 'net/http/local'
+end
def quietly_try_to_open(url)
begin
@@ -12,17 +14,36 @@ def quietly_try_to_open(url)
return result
end
+# On Ruby versions before 2.0, we need to use the net-http-local gem
+# to force the use of 127.0.0.1 as the local interface for the
+# connection. However, at the time of writing this gem doesn't work
+# on Ruby 2.0 and it's not necessary with that Ruby version - one can
+# supply a :local_host option to Net::HTTP:start. So, this helper
+# function is to abstract away that difference, and can be used as you
+# would Net::HTTP.start(host) when passed a block.
+def http_from_localhost(host)
+ if RUBY_VERSION.to_f >= 2.0
+ Net::HTTP.start(host, :local_host => '127.0.0.1') do |http|
+ yield http
+ end
+ else
+ Net::HTTP.bind '127.0.0.1' do
+ Net::HTTP.start(host) do |http|
+ yield http
+ end
+ end
+ end
+end
+
def quietly_try_to_purge(host, url)
begin
result = ""
result_body = ""
- Net::HTTP.bind '127.0.0.1' do
- Net::HTTP.start(host) {|http|
- request = Net::HTTP::Purge.new(url)
- response = http.request(request)
- result = response.code
- result_body = response.body
- }
+ http_from_localhost(host) do |http|
+ request = Net::HTTP::Purge.new(url)
+ response = http.request(request)
+ result = response.code
+ result_body = response.body
end
rescue OpenURI::HTTPError, SocketError, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ECONNRESET, Errno::ENETUNREACH
Rails.logger.warn("PURGE: Unable to reach host #{host}")
diff --git a/vendor/plugins/strip_attributes/README.rdoc b/lib/strip_attributes/README.rdoc
index bd55c0c1c..bd55c0c1c 100644
--- a/vendor/plugins/strip_attributes/README.rdoc
+++ b/lib/strip_attributes/README.rdoc
diff --git a/vendor/plugins/strip_attributes/Rakefile b/lib/strip_attributes/Rakefile
index 05b0c14ad..05b0c14ad 100644
--- a/vendor/plugins/strip_attributes/Rakefile
+++ b/lib/strip_attributes/Rakefile
diff --git a/vendor/plugins/strip_attributes/lib/strip_attributes.rb b/lib/strip_attributes/strip_attributes.rb
index 130d10185..130d10185 100644
--- a/vendor/plugins/strip_attributes/lib/strip_attributes.rb
+++ b/lib/strip_attributes/strip_attributes.rb
diff --git a/vendor/plugins/strip_attributes/test/strip_attributes_test.rb b/lib/strip_attributes/test/strip_attributes_test.rb
index 8158dc664..8158dc664 100644
--- a/vendor/plugins/strip_attributes/test/strip_attributes_test.rb
+++ b/lib/strip_attributes/test/strip_attributes_test.rb
diff --git a/vendor/plugins/strip_attributes/test/test_helper.rb b/lib/strip_attributes/test/test_helper.rb
index 7d06c40db..7d06c40db 100644
--- a/vendor/plugins/strip_attributes/test/test_helper.rb
+++ b/lib/strip_attributes/test/test_helper.rb
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake
index 366dfbe88..3f357213f 100644
--- a/lib/tasks/gettext.rake
+++ b/lib/tasks/gettext.rake
@@ -29,11 +29,11 @@ namespace :gettext do
end
def theme_files_to_translate(theme)
- Dir.glob("{vendor/plugins/#{theme}/lib}/**/*.{rb,erb}")
+ Dir.glob("{lib/themes/#{theme}/lib}/**/*.{rb,erb}")
end
def theme_locale_path(theme)
- File.join(Rails.root, "vendor", "plugins", theme, "locale-theme")
+ Rails.root.join "lib", "themes", theme, "locale-theme"
end
end
diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake
new file mode 100644
index 000000000..c8183c745
--- /dev/null
+++ b/lib/tasks/import.rake
@@ -0,0 +1,78 @@
+require 'csv'
+require 'tempfile'
+
+namespace :import do
+
+ desc 'Import public bodies from CSV provided on standard input'
+ task :import_csv => :environment do
+ dryrun = ENV['DRYRUN'] != '0'
+ if dryrun
+ STDERR.puts "Only a dry run; public bodies will not be created"
+ end
+
+ tmp_csv = nil
+ Tempfile.open('alaveteli') do |f|
+ f.write STDIN.read
+ tmp_csv = f
+ end
+
+ number_of_rows = 0
+
+ STDERR.puts "Preliminary check for ambiguous names or slugs..."
+
+ # Check that the name and slugified version of the name are
+ # unique:
+ url_part_count = Hash.new { 0 }
+ name_count = Hash.new { 0 }
+ reader = CSV.open tmp_csv.path, 'r'
+ header_line = reader.shift
+ headers = header_line.collect { |h| h.gsub /^#/, ''}
+
+ reader.each do |row_array|
+ row = Hash[headers.zip row_array]
+ name = row['name']
+ url_part = MySociety::Format::simplify_url_part name, "body"
+ name_count[name] += 1
+ url_part_count[url_part] += 1
+ number_of_rows += 1
+ end
+
+ non_unique_error = false
+
+ [[name_count, 'name'],
+ [url_part_count, 'url_part']].each do |counter, field|
+ counter.sort.map do |name, count|
+ if count > 1
+ non_unique_error = true
+ STDERR.puts "The #{field} #{name} was found #{count} times."
+ end
+ end
+ end
+
+ next if non_unique_error
+
+ STDERR.puts "Now importing the public bodies..."
+
+ # Now it's (probably) safe to try to import:
+ errors, notes = PublicBody.import_csv_from_file(tmp_csv.path,
+ tag='',
+ tag_behaviour='replace',
+ dryrun,
+ editor="#{ENV['USER']} (Unix user)",
+ I18n.available_locales) do |row_number, fields|
+ percent_complete = (100 * row_number.to_f / number_of_rows).to_i
+ STDERR.print "#{row_number} out of #{number_of_rows} "
+ STDERR.puts "(#{percent_complete}% complete)"
+ end
+
+ if errors.length > 0
+ STDERR.puts "Import failed, with the following errors:"
+ errors.each do |error|
+ STDERR.puts " #{error}"
+ end
+ else
+ STDERR.puts "Done."
+ end
+
+ end
+end
diff --git a/lib/tasks/stats.rake b/lib/tasks/stats.rake
index 4eda27289..38eb15996 100644
--- a/lib/tasks/stats.rake
+++ b/lib/tasks/stats.rake
@@ -1,8 +1,14 @@
namespace :stats do
- desc 'Produce transaction stats'
+ desc 'Produce monthly transaction stats for a period starting START_YEAR'
task :show => :environment do
- month_starts = (Date.new(2009, 1)..Date.new(2011, 8)).select { |d| d.day == 1 }
+ example = 'rake stats:show START_YEAR=2009 [START_MONTH=3 END_YEAR=2012 END_MONTH=10]'
+ check_for_env_vars(['START_YEAR'], example)
+ start_year = (ENV['START_YEAR']).to_i
+ start_month = (ENV['START_MONTH'] || 1).to_i
+ end_year = (ENV['END_YEAR'] || Time.now.year).to_i
+ end_month = (ENV['END_MONTH'] || Time.now.month).to_i
+ month_starts = (Date.new(start_year, start_month)..Date.new(end_year, end_month)).select { |d| d.day == 1 }
headers = ['Period',
'Requests sent',
'Annotations added',
@@ -94,7 +100,7 @@ namespace :stats do
desc 'Update statistics in the public_bodies table'
task :update_public_bodies_stats => :environment do
verbose = ENV['VERBOSE'] == '1'
- PublicBody.all.each do |public_body|
+ PublicBody.find_each(:batch_size => 10) do |public_body|
puts "Counting overdue requests for #{public_body.name}" if verbose
# Look for values of 'waiting_response_overdue' and
@@ -102,7 +108,12 @@ namespace :stats do
# described_state column, and instead need to be calculated:
overdue_count = 0
very_overdue_count = 0
- InfoRequest.find_each(:conditions => {:public_body_id => public_body.id}) do |ir|
+ InfoRequest.find_each(:batch_size => 200,
+ :conditions => {
+ :public_body_id => public_body.id,
+ :awaiting_description => false,
+ :prominence => 'normal'
+ }) do |ir|
case ir.calculate_status
when 'waiting_response_very_overdue'
very_overdue_count += 1
diff --git a/lib/tasks/temp.rake b/lib/tasks/temp.rake
index d371ad0dc..67fa10174 100644
--- a/lib/tasks/temp.rake
+++ b/lib/tasks/temp.rake
@@ -1,292 +1,40 @@
namespace :temp do
- desc "Fix the history of requests where the described state doesn't match the latest status value
- used by search, by adding an edit event that will correct the latest status"
- task :fix_bad_request_states => :environment do
- dryrun = ENV['DRYRUN'] != '0'
- if dryrun
- puts "This is a dryrun"
- end
-
- InfoRequest.find_each() do |info_request|
- next if info_request.url_title == 'holding_pen'
- last_info_request_event = info_request.info_request_events[-1]
- if last_info_request_event.latest_status != info_request.described_state
- puts "#{info_request.id} #{info_request.url_title} #{last_info_request_event.latest_status} #{info_request.described_state}"
- params = { :script => 'rake temp:fix_bad_request_states',
- :user_id => nil,
- :old_described_state => info_request.described_state,
- :described_state => info_request.described_state
- }
- if ! dryrun
- info_request.info_request_events.create!(:last_described_at => last_info_request_event.described_at + 1.second,
- :event_type => 'status_update',
- :described_state => info_request.described_state,
- :calculated_state => info_request.described_state,
- :params => params)
- info_request.info_request_events.each{ |event| event.xapian_mark_needs_index }
- end
- end
-
- end
- end
-
- def disable_duplicate_account(user, count, dryrun)
- dupe_email = "duplicateemail#{count}@example.com"
- puts "Updating #{user.email} to #{dupe_email} for user #{user.id}"
- user.email = dupe_email
- user.save! unless dryrun
- end
-
- desc "Re-extract any missing cached attachments"
- task :reextract_missing_attachments, [:commit] => :environment do |t, args|
- dry_run = args.commit.nil? || args.commit.empty?
- total_messages = 0
- messages_to_reparse = 0
- IncomingMessage.find_each :include => :foi_attachments do |im|
- begin
- reparse = im.foi_attachments.any? { |fa| ! File.exists? fa.filepath }
- total_messages += 1
- messages_to_reparse += 1 if reparse
- if total_messages % 1000 == 0
- puts "Considered #{total_messages} received emails."
- end
- unless dry_run
- im.parse_raw_email! true if reparse
- sleep 2
- end
- rescue StandardError => e
- puts "There was a #{e.class} exception reparsing IncomingMessage with ID #{im.id}"
- puts e.backtrace
- puts e.message
- end
- end
- message = dry_run ? "Would reparse" : "Reparsed"
- message += " #{messages_to_reparse} out of #{total_messages} received emails."
- puts message
- end
-
- desc 'Cleanup accounts with a space in the email address'
- task :clean_up_emails_with_spaces => :environment do
- dryrun = ENV['DRYRUN'] == '0' ? false : true
- if dryrun
- puts "This is a dryrun"
- end
- count = 0
- User.find_each do |user|
- if / /.match(user.email)
-
- email_without_spaces = user.email.gsub(' ', '')
- existing = User.find_user_by_email(email_without_spaces)
- # Another account exists with the canonical address
- if existing
- if user.info_requests.count == 0 and user.comments.count == 0 and user.track_things.count == 0
- count += 1
- disable_duplicate_account(user, count, dryrun)
- elsif existing.info_requests.count == 0 and existing.comments.count == 0 and existing.track_things.count == 0
- count += 1
- disable_duplicate_account(existing, count, dryrun)
- user.email = email_without_spaces
- puts "Updating #{user.email} to #{email_without_spaces} for user #{user.id}"
- user.save! unless dryrun
- else
- user.info_requests.each do |info_request|
- info_request.user = existing
- info_request.save! unless dryrun
- puts "Moved request #{info_request.id} from user #{user.id} to #{existing.id}"
- end
-
- user.comments.each do |comment|
- comment.user = existing
- comment.save! unless dryrun
- puts "Moved comment #{comment.id} from user #{user.id} to #{existing.id}"
- end
-
- user.track_things.each do |track_thing|
- track_thing.tracking_user = existing
- track_thing.save! unless dryrun
- puts "Moved track thing #{track_thing.id} from user #{user.id} to #{existing.id}"
- end
-
- TrackThingsSentEmail.find_each(:conditions => ['user_id = ?', user]) do |sent_email|
- sent_email.user = existing
- sent_email.save! unless dryrun
- puts "Moved track thing sent email #{sent_email.id} from user #{user.id} to #{existing.id}"
-
- end
-
- user.censor_rules.each do |censor_rule|
- censor_rule.user = existing
- censor_rule.save! unless dryrun
- puts "Moved censor rule #{censor_rule.id} from user #{user.id} to #{existing.id}"
- end
-
- user.user_info_request_sent_alerts.each do |sent_alert|
- sent_alert.user = existing
- sent_alert.save! unless dryrun
- puts "Moved sent alert #{sent_alert.id} from user #{user.id} to #{existing.id}"
- end
-
- count += 1
- disable_duplicate_account(user, count, dryrun)
- end
- else
- puts "Updating #{user.email} to #{email_without_spaces} for user #{user.id}"
- user.email = email_without_spaces
- user.save! unless dryrun
- end
- end
- end
- end
-
- desc 'Create a CSV file of a random selection of raw emails, for comparing hexdigests'
- task :random_attachments_hexdigests => :environment do
- # The idea is to run this under the Rail 2 codebase, where
- # Tmail was used to extract the attachements, and the task
- # will output all of those file paths in a CSV file, and a
- # list of the raw email files in another. The latter file is
- # useful so that one can easily tar up the emails with:
- #
- # tar cvz -T raw-email-files -f raw_emails.tar.gz
- #
- # Then you can switch to the Rails 3 codebase, where
- # attachment parsing is done via
- # recompute_attachments_hexdigests
-
- require 'csv'
-
- File.open('raw-email-files', 'w') do |f|
- CSV.open('attachment-hexdigests.csv', 'w') do |csv|
- csv << ['filepath', 'i', 'url_part_number', 'hexdigest']
- IncomingMessage.all(:order => 'RANDOM()', :limit => 1000).each do |incoming_message|
- # raw_email.filepath fails unless the
- # incoming_message has an associated request
- next unless incoming_message.info_request
- raw_email = incoming_message.raw_email
- f.puts raw_email.filepath
- incoming_message.foi_attachments.each_with_index do |attachment, i|
- csv << [raw_email.filepath, i, attachment.url_part_number, attachment.hexdigest]
- end
- end
- end
- end
-
- end
-
-
- desc 'Check the hexdigests of attachments in emails on disk'
- task :recompute_attachments_hexdigests => :environment do
-
- require 'csv'
- require 'digest/md5'
-
- OldAttachment = Struct.new :filename, :attachment_index, :url_part_number, :hexdigest
-
- filename_to_attachments = Hash.new {|h,k| h[k] = []}
-
- header_line = true
- CSV.foreach('attachment-hexdigests.csv') do |filename, attachment_index, url_part_number, hexdigest|
- if header_line
- header_line = false
- else
- filename_to_attachments[filename].push OldAttachment.new filename, attachment_index, url_part_number, hexdigest
- end
+ desc 'Analyse rails log specified by LOG_FILE to produce a list of request volume'
+ task :request_volume => :environment do
+ example = 'rake log_analysis:request_volume LOG_FILE=log/access_log OUTPUT_FILE=/tmp/log_analysis.csv'
+ check_for_env_vars(['LOG_FILE', 'OUTPUT_FILE'],example)
+ log_file_path = ENV['LOG_FILE']
+ output_file_path = ENV['OUTPUT_FILE']
+ is_gz = log_file_path.include?(".gz")
+ urls = Hash.new(0)
+ f = is_gz ? Zlib::GzipReader.open(log_file_path) : File.open(log_file_path, 'r')
+ processed = 0
+ f.each_line do |line|
+ line.force_encoding('ASCII-8BIT') if RUBY_VERSION.to_f >= 1.9
+ if request_match = line.match(/^Started (GET|OPTIONS|POST) "(\/request\/.*?)"/)
+ next if line.match(/request\/\d+\/response/)
+ urls[request_match[2]] += 1
+ processed += 1
+ end
+ end
+ url_counts = urls.to_a
+ num_requests_visited_n_times = Hash.new(0)
+ CSV.open(output_file_path, "wb") do |csv|
+ csv << ['URL', 'Number of visits']
+ url_counts.sort_by(&:last).each do |url, count|
+ num_requests_visited_n_times[count] +=1
+ csv << [url,"#{count}"]
+ end
+ csv << ['Number of visits', 'Number of URLs']
+ num_requests_visited_n_times.to_a.sort.each do |number_of_times, number_of_requests|
+ csv << [number_of_times, number_of_requests]
+ end
+ csv << ['Total number of visits']
+ csv << [processed]
end
- total_attachments = 0
- attachments_with_different_hexdigest = 0
- files_with_different_numbers_of_attachments = 0
- no_tnef_attachments = 0
- no_parts_in_multipart = 0
-
- multipart_error = "no parts on multipart mail"
- tnef_error = "tnef produced no attachments"
-
- # Now check each file:
- filename_to_attachments.each do |filename, old_attachments|
-
- # Currently it doesn't seem to be possible to reuse the
- # attachment parsing code in Alaveteli without saving
- # objects to the database, so reproduce what it does:
-
- raw_email = nil
- File.open(filename) do |f|
- raw_email = f.read
- end
- mail = MailHandler.mail_from_raw_email(raw_email)
-
- begin
- attachment_attributes = MailHandler.get_attachment_attributes(mail)
- rescue IOError => e
- if e.message == tnef_error
- puts "#{filename} #{tnef_error}"
- no_tnef_attachments += 1
- next
- else
- raise
- end
- rescue Exception => e
- if e.message == multipart_error
- puts "#{filename} #{multipart_error}"
- no_parts_in_multipart += 1
- next
- else
- raise
- end
- end
-
- if attachment_attributes.length != old_attachments.length
- puts "#{filename} the number of old attachments #{old_attachments.length} didn't match the number of new attachments #{attachment_attributes.length}"
- files_with_different_numbers_of_attachments += 1
- else
- old_attachments.each_with_index do |old_attachment, i|
- total_attachments += 1
- attrs = attachment_attributes[i]
- old_hexdigest = old_attachment.hexdigest
- new_hexdigest = attrs[:hexdigest]
- new_content_type = attrs[:content_type]
- old_url_part_number = old_attachment.url_part_number.to_i
- new_url_part_number = attrs[:url_part_number]
- if old_url_part_number != new_url_part_number
- puts "#{i} #{filename} old_url_part_number #{old_url_part_number}, new_url_part_number #{new_url_part_number}"
- end
- if old_hexdigest != new_hexdigest
- body = attrs[:body]
- # First, if the content type is one of
- # text/plain, text/html or application/rtf try
- # changing CRLF to LF and calculating a new
- # digest - we generally don't worry about
- # these changes:
- new_converted_hexdigest = nil
- if ["text/plain", "text/html", "application/rtf"].include? new_content_type
- converted_body = body.gsub /\r\n/, "\n"
- new_converted_hexdigest = Digest::MD5.hexdigest converted_body
- puts "new_converted_hexdigest is #{new_converted_hexdigest}"
- end
- if (! new_converted_hexdigest) || (old_hexdigest != new_converted_hexdigest)
- puts "#{i} #{filename} old_hexdigest #{old_hexdigest} wasn't the same as new_hexdigest #{new_hexdigest}"
- puts " body was of length #{body.length}"
- puts " content type was: #{new_content_type}"
- path = "/tmp/#{new_hexdigest}"
- f = File.new path, "w"
- f.write body
- f.close
- puts " wrote body to #{path}"
- attachments_with_different_hexdigest += 1
- end
- end
- end
- end
-
- end
-
- puts "total_attachments: #{total_attachments}"
- puts "attachments_with_different_hexdigest: #{attachments_with_different_hexdigest}"
- puts "files_with_different_numbers_of_attachments: #{files_with_different_numbers_of_attachments}"
- puts "no_tnef_attachments: #{no_tnef_attachments}"
- puts "no_parts_in_multipart: #{no_parts_in_multipart}"
-
end
end
diff --git a/lib/tasks/themes.rake b/lib/tasks/themes.rake
index a8d16f108..4a864d141 100644
--- a/lib/tasks/themes.rake
+++ b/lib/tasks/themes.rake
@@ -1,94 +1,123 @@
+require Rails.root.join('commonlib', 'rblib', 'git')
+
namespace :themes do
- def plugin_dir
- File.join(Rails.root,"vendor","plugins")
+ # Alias the module so we don't need the MySociety prefix here
+ Git = MySociety::Git
+
+ def all_themes_dir
+ File.join(Rails.root,"lib","themes")
end
def theme_dir(theme_name)
- File.join(plugin_dir, theme_name)
+ File.join(all_themes_dir, theme_name)
end
- def checkout(commitish)
- puts "Checking out #{commitish}" if verbose
- system "git checkout #{commitish}"
+ def old_all_themes_dir(theme_name)
+ File.join(Rails.root, "vendor", "plugins", theme_name)
end
- def checkout_tag(version)
- checkout usage_tag(version)
+ def possible_theme_dirs(theme_name)
+ [theme_dir(theme_name), old_all_themes_dir(theme_name)]
end
- def checkout_remote_branch(branch)
- checkout "origin/#{branch}"
+ def installed?(theme_name)
+ possible_theme_dirs(theme_name).any? { |dir| File.directory? dir }
end
def usage_tag(version)
"use-with-alaveteli-#{version}"
end
- def install_theme_using_git(name, uri, verbose=false, options={})
- install_path = theme_dir(name)
- Dir.chdir(plugin_dir) do
- clone_command = "git clone #{uri} #{name}"
- if system(clone_command)
- Dir.chdir install_path do
- # First try to checkout a specific branch of the theme
- tag_checked_out = checkout_remote_branch(AlaveteliConfiguration::theme_branch) if AlaveteliConfiguration::theme_branch
- if !tag_checked_out
- # try to checkout a tag exactly matching ALAVETELI VERSION
- tag_checked_out = checkout_tag(ALAVETELI_VERSION)
- end
- if ! tag_checked_out
- # if we're on a hotfix release (four sequence elements or more),
- # look for a usage tag matching the minor release (three sequence elements)
- # and check that out if found
- if hotfix_version = /^(\d+\.\d+\.\d+)(\.\d+)+/.match(ALAVETELI_VERSION)
- base_version = hotfix_version[1]
- tag_checked_out = checkout_tag(base_version)
- end
- end
- if ! tag_checked_out
- puts "No specific tag for this version: using HEAD" if verbose
- end
- puts "removing: .git .gitignore" if verbose
- rm_rf %w(.git .gitignore)
- end
- else
- rm_rf install_path
- raise "#{clone_command} failed! Stopping."
- end
- end
- end
-
def uninstall(theme_name, verbose=false)
- dir = theme_dir(theme_name)
- if File.directory?(dir)
- run_hook(theme_name, 'uninstall', verbose)
- puts "Removing '#{dir}'" if verbose
- rm_r dir
- else
- puts "Plugin doesn't exist: #{dir}"
+ possible_theme_dirs(theme_name).each do |dir|
+ if File.directory?(dir)
+ run_hook(theme_name, 'uninstall', verbose)
+ end
end
end
def run_hook(theme_name, hook_name, verbose=false)
- hook_file = File.join(theme_dir(theme_name), "#{hook_name}.rb")
+ directory = theme_dir(theme_name)
+ hook_file = File.join(directory, "#{hook_name}.rb")
if File.exist? hook_file
- puts "Running #{hook_name} hook for #{theme_name}" if verbose
+ puts "Running #{hook_name} hook in #{directory}" if verbose
load hook_file
end
end
- def installed?(theme_name)
- File.directory?(theme_dir(theme_name))
+ def move_old_theme(old_theme_directory)
+ puts "There was an old-style theme at #{old_theme_directory}" if verbose
+ moved_directory = "#{old_theme_directory}-moved"
+ begin
+ File.rename old_theme_directory, moved_directory
+ rescue Errno::ENOTEMPTY, Errno::EEXIST
+ raise "Tried to move #{old_theme_directory} out of the way, " \
+ "but #{moved_directory} already existed"
+ end
+ end
+
+ def committishes_to_try
+ result = []
+ theme_branch = AlaveteliConfiguration::theme_branch
+ result.push "origin/#{theme_branch}" if theme_branch
+ result.push usage_tag(ALAVETELI_VERSION)
+ hotfix_match = /^(\d+\.\d+\.\d+)(\.\d+)+/.match(ALAVETELI_VERSION)
+ result.push usage_tag(hotfix_match[1]) if hotfix_match
+ result
+ end
+
+ def checkout_best_option(theme_name)
+ theme_directory = theme_dir theme_name
+ all_failed = true
+ committishes_to_try.each do |committish|
+ if Git.committish_exists? theme_directory, committish
+ puts "Checking out #{committish}" if verbose
+ Git.checkout theme_directory, committish
+ all_failed = false
+ break
+ else
+ puts "Failed to find #{committish}; skipping..." if verbose
+ end
+ end
+ puts "Falling to using HEAD instead" if all_failed and verbose
end
def install_theme(theme_url, verbose, deprecated=false)
+ FileUtils.mkdir_p all_themes_dir
deprecation_string = deprecated ? " using deprecated THEME_URL" : ""
- theme_name = File.basename(theme_url, '.git')
+ theme_name = theme_url_to_theme_name theme_url
puts "Installing theme #{theme_name}#{deprecation_string} from #{theme_url}"
+ # Make sure any uninstall hooks have been run:
uninstall(theme_name, verbose) if installed?(theme_name)
- install_theme_using_git(theme_name, theme_url, verbose)
+ theme_directory = theme_dir theme_name
+ # Is there an old-style theme directory there? If so, move it
+ # out of the way so that there's no risk that work is lost:
+ if File.directory? theme_directory
+ unless Git.non_bare_repository? theme_directory
+ move_old_theme theme_directory
+ end
+ end
+ # If there isn't a directory there already, clone it into place:
+ unless File.directory? theme_directory
+ unless system "git", "clone", theme_url, theme_directory
+ raise "Cloning from #{theme_url} to #{theme_directory} failed"
+ end
+ end
+ # Set the URL for origin in case it has changed, and fetch from there:
+ Git.remote_set_url theme_directory, 'origin', theme_url
+ Git.fetch theme_directory, 'origin'
+ # Check that checking-out a new commit will be safe:
+ unless Git.status_clean theme_directory
+ raise "There were uncommitted changes in #{theme_directory}"
+ end
+ unless Git.is_HEAD_pushed? theme_directory
+ raise "The current work in #{theme_directory} is unpushed"
+ end
+ # Now try to checkout various commits in order of preference:
+ checkout_best_option theme_name
+ # Finally run the install hooks:
run_hook(theme_name, 'install', verbose)
run_hook(theme_name, 'post_install', verbose)
end
@@ -102,4 +131,5 @@ namespace :themes do
install_theme(AlaveteliConfiguration::theme_url, verbose, deprecated=true)
end
end
+
end
diff --git a/lib/theme.rb b/lib/theme.rb
new file mode 100644
index 000000000..4f03b5d99
--- /dev/null
+++ b/lib/theme.rb
@@ -0,0 +1,3 @@
+def theme_url_to_theme_name(theme_url)
+ File.basename theme_url, '.git'
+end
diff --git a/lib/whatdotheyknow/strip_empty_sessions.rb b/lib/whatdotheyknow/strip_empty_sessions.rb
index e162acf67..6d175ca98 100644
--- a/lib/whatdotheyknow/strip_empty_sessions.rb
+++ b/lib/whatdotheyknow/strip_empty_sessions.rb
@@ -1,9 +1,9 @@
module WhatDoTheyKnow
-
+
class StripEmptySessions
ENV_SESSION_KEY = "rack.session".freeze
HTTP_SET_COOKIE = "Set-Cookie".freeze
- STRIPPABLE_KEYS = [:session_id, :_csrf_token, :locale]
+ STRIPPABLE_KEYS = ['session_id', '_csrf_token', 'locale']
def initialize(app, options = {})
@app = app
diff --git a/lib/world_foi_websites.rb b/lib/world_foi_websites.rb
index c3f3655df..50976c897 100644
--- a/lib/world_foi_websites.rb
+++ b/lib/world_foi_websites.rb
@@ -53,7 +53,20 @@ class WorldFOIWebsites
{:name => "Informace pro Vsechny",
:country_name => "Česká republika",
:country_iso_code => "CZ",
- :url => "http://www.infoprovsechny.cz"}
+ :url => "http://www.infoprovsechny.cz"},
+ {:name => "¿Qué Sabés?",
+ :country_name => "Uruguay",
+ :country_iso_code => "UY",
+ :url => "http://www.quesabes.org/"},
+ {:name => "Nu Vă Supărați",
+ :country_name => "România",
+ :country_iso_code => "RO",
+ :url => "http://nuvasuparati.info/"},
+ {:name => "Marsoum41",
+ :country_name => "تونس",
+ :country_iso_code => "TN",
+ :url => "http://www.marsoum41.org"}
+
]
return world_foi_websites
end
diff --git a/locale/aln/app.po b/locale/aln/app.po
index d8c0a3020..64a58424c 100644
--- a/locale/aln/app.po
+++ b/locale/aln/app.po
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Albanian Gheg (http://www.transifex.com/projects/p/alaveteli/language/aln/)\n"
"Language: aln\n"
"MIME-Version: 1.0\n"
@@ -808,15 +808,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1791,6 +1800,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2720,18 +2732,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3421,9 +3427,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/app.pot b/locale/app.pot
index 94fbce86e..46114483a 100644
--- a/locale/app.pot
+++ b/locale/app.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: version 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
"PO-Revision-Date: 2011-10-09 01:10+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -805,15 +805,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1788,6 +1797,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2717,18 +2729,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3418,9 +3424,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/ar/app.po b/locale/ar/app.po
index f49cfd658..ad5adf8e8 100644
--- a/locale/ar/app.po
+++ b/locale/ar/app.po
@@ -13,10 +13,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/alaveteli/language/ar/)\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
@@ -813,15 +813,24 @@ msgstr "تابع هذا الشخص"
msgid "Follow this request"
msgstr "تابع هذا الطلب "
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "تابع"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "تابع الرسالة المرسلة من صاحب الطلب"
msgid "Follow up messages to existing requests are sent to "
msgstr "متابعة الرسائل المرسلة للطلبات الموجودة"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "المتابعات و الردود الجدبدة على هذا المطلب وقع ايقافها للتجنب الرسائل الغير مرغوب فيها. يرجى <a href=\"{{url}}\">الاتصال بنا</a> اذا كنت {{user_link}} و تحتاج الى ارسال متابعات."
@@ -1800,6 +1809,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "الهيكل العامّ|اخر تعليق محوّر"
@@ -2745,18 +2757,12 @@ msgstr "التنبيه المرسل للمستخدم صاحب الطلب|نوع
msgid "User|About me"
msgstr "مستخدم|معلومات عني"
-msgid "User|Address"
-msgstr "المستخدم|العنوان"
-
msgid "User|Admin level"
msgstr "مستخدم|مستوى المشرف"
msgid "User|Ban text"
msgstr "مستخدم|منع النص"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "المستخدم|البريد الالكتروني"
@@ -3470,9 +3476,6 @@ msgstr "{{info_request_user_name}} فقط:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "{{law_used_full}} طلب - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} طلب GQ - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} طلبات في {{public_body}}"
diff --git a/locale/bg/app.po b/locale/bg/app.po
index 849550a46..5779fe21d 100644
--- a/locale/bg/app.po
+++ b/locale/bg/app.po
@@ -9,9 +9,9 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-22 20:14+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: Valentin Laskov <laskov@festa.bg>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/alaveteli/language/bg/)\n"
"Language: bg\n"
@@ -21,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
-msgstr ""
+msgstr "Това ще се появи в профила Ви в {{site_name}}, за да\\n улесни останалите да се включат в това, което правите."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
msgstr ""
@@ -36,13 +36,13 @@ msgid " - view and make Freedom of Information requests"
msgstr " - преглед и отправяне на заявления за достъп до информация"
msgid " - wall"
-msgstr ""
+msgstr " - стена"
msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
msgstr " <strong>Бележка:</strong>\\n Ще Ви изпратим имейл. Следвайте инструкциите в него за да смените\\n Вашата парола."
msgid " <strong>Privacy note:</strong> Your email address will be given to"
-msgstr " <strong>Лични данни:</strong> Вашият имейл адрес ще бъде даден на"
+msgstr " <strong>Забележка за лични данни:</strong> Вашият имейл адрес ще бъде даден на"
msgid " <strong>Summarise</strong> the content of any information returned. "
msgstr " <strong>Обобщете</strong> съдържанието на каквато и да е върната информация. "
@@ -51,13 +51,13 @@ msgid " Advise on how to <strong>best clarify</strong> the request."
msgstr " Съветвайте как <strong>най-ясно да се състави</strong> заявлението."
msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
-msgstr " Идеи над това какви <strong>други документи да бъдат поискани</strong>, които публичният орган може да притежава. "
+msgstr " Идеи за това, какви <strong>други документи да бъдат поискани</strong>, които публичният орган може да притежава. "
msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
-msgstr ""
+msgstr " Ако знаете нужния адрес, молим, <a href=\"{{url}}\">изпратете ни го</a>.\\n Бихте могли да намерите адреса на техния сайт, или като им се обадите по телефона и ги попитате."
msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
-msgstr ""
+msgstr "Поставете препратки към материали по темата като страници на кампании,\\nВашия блог или twitter акаунт. Върху тях ще може да се цъкне. \\n напр."
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
msgstr " Въведете препратка към исканата информация, ако тя <strong>вече е налична</strong> в Интернет. "
@@ -90,7 +90,7 @@ msgid " when you send this message."
msgstr " когато изпратите това съобщение."
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
-msgstr ""
+msgstr "\"Здравейте! Имаме <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">важно съобщение</a> за посетители извън {{country_name}}\""
msgid "'Crime statistics by ward level for Wales'"
msgstr "'Криминална статистика на ниво квартал за София област'"
@@ -108,10 +108,10 @@ msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', личност"
msgid "*unknown*"
-msgstr ""
+msgstr "*неизвестен*"
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
-msgstr ""
+msgstr ",\\n\\n\\n\\nВаш,\\n\\n{{user_name}}"
msgid "- or -"
msgstr "- или -"
@@ -126,25 +126,25 @@ msgid "3. Now check your request"
msgstr "3. Сега проверете заявлението си"
msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
-msgstr ""
+msgstr "<a href=\"{{browse_url}}\">Разгледайте всички</a> или <a href=\"{{add_url}}\">поискайте да добавим някой</a>."
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Добавете коментар</a> (за да помогнете на заявителя или на други)"
msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Влезте</a> за да смените паролата, абонаментите или друго (само за {{user_name}})"
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
msgstr "<p>Готово! Много Ви благодарим за помощта!</p><p>Има още <a href=\"{{helpus_url}}\">неща, които можете да направите,</a> за да подпомогнете {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
-msgstr ""
+msgstr "<p>Благодарим Ви! Ето няколко идеи за това, което може да направите:</p>\\n <ul>\\n <li>Да изпратите заявлението си до друг орган, копирайте първо текста на заявлението по-долу, след което <a href=\"{{find_authority_url}}\">намерете другия орган</a>.</li>\\n <li>Ако желаете да оспорите твърдението на органа, че не разполага с информацията, ето как\\n <a href=\"{{complain_url}}\">да се оплачете</a>.\\n </li>\\n <li>Ние имаме <a href=\"{{other_means_url}}\">предложения</a>\\n по какъв начин да стигнете до отговор на въпроса Ви.\\n </li>\\n </ul>"
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
msgstr "<p>Благодарим Ви! Надяваме се, че няма да се наложи да чакате дълго.</p> <p>По закон, Вие трябва да получите отговор скоро, като нормалният срок е преди края на <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p>Благодарим Ви! Надяваме се, не сте чакали твърде дълго.</p> <p>По закон, Вие трябва да получите отговор навреме, което нормално означава не по-късно от <strong>\\n{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
msgstr "<p>Благодарим Ви! Да се надяваме, че няма да чакате твърде дълго.</p><p>Би трябвало да получите отговор в рамките на {{late_number_of_days}} дни, или ще бъдете известени, ако е нужно повече време (<a href=\"{{review_url}}\">подробности</a>).</p>"
@@ -153,25 +153,25 @@ msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_numb
msgstr "<p>Благодарим Ви! Отговорът на Вашето заявление се забави повече от {{very_late_number_of_days}} работни дни. На повечето заявления се отговаря в рамките на {{late_number_of_days}} работни дни. Ако желаете да подадете оплакване за това, вижте надолу.</p>"
msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
-msgstr ""
+msgstr "<p>Благодарим Ви, че обновихте текста за Вас в профила Ви.</p>\\n <p><strong>Сега може...</strong> Да качите и снимка в профила Ви.</p>"
msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
-msgstr ""
+msgstr "<p>Благодарим Ви, че обновихте снимката в профила Ви.</p>\\n <p><strong>Сега може...</strong> да напишете текст за Вас и разследванията Ви.</p>"
msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
msgstr "<p>Препоръчваме Ви да редактирате заявлението си и да премахнете имейл адреса.\\n Ако го оставите, имейл адресът ще бъде изпратен на органа, но няма да бъде показван на сайта.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
-msgstr ""
+msgstr "<p>Радваме се, че сте получили цялата, искана от Вас информация. Ако пишете за това или използвате информацията, молим, върнете се тук и добавете по-долу коментар за това, което сте направили.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
-msgstr "<p>Радваме се, че сте получили цялата, искана от Вас информация. Ако пишете за това или използвате информацията, молим, върнете се тук и добавете по-долу анотация за това, което сте направили.</p><p>Ако считате, че {{site_name}} е полезен, <a href=\"{{donation_url}}\">направете дарение</a> в полза на организацията с нестопанска цел, която го поддържа.</p>"
+msgstr "<p>Радваме се, че сте получили цялата, искана от Вас информация. Ако пишете за това или използвате информацията, молим, върнете се тук и добавете по-долу коментар за това, което сте направили.</p><p>Ако считате, че {{site_name}} е полезен, <a href=\"{{donation_url}}\">направете дарение</a> в полза на организацията с нестопанска цел, която го поддържа.</p>"
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
msgstr "<p>Радваме се, че сте получили част от исканата от Вас информация. Ако считате, че {{site_name}} е полезен, <a href=\"{{donation_url}}\">направете дарение</a> в полза на организацията с нестопанска цел, която го поддържа.</p><p>Ако искате да продължите и да получите останалата част от информацията, ето какво трябва да направите сега.</p>"
msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr ""
+msgstr "<p>Радваме се, че сте получили част от исканата от Вас информация.</p><p>Ако искате да опитате да получите останалата част от информацията, ето какво може да направите.</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
msgstr "<p>Не е необходимо да посочвате Ваш имейл в заявлението за да получите отговор (<a href=\"{{url}}\">подробности</a>).</p>"
@@ -183,19 +183,19 @@ msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly
msgstr "<p>Вашето заявление съдържа <strong>пощенски код</strong>. Ако това не е пряко свързано с темата на заявлението, молим Ви, премахнете всякакви адреси, тъй като те ще <strong>станат публично видими в Интернет</strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr "<p>Вашето заявление за {{law_used_full}} беше <strong>изпратено по пътя му</strong>!</p>\\n <p><strong>Ще Ви изпратим имейл,</strong> когато има отговор, или след {{late_number_of_days}} работни дни ако органът все още не е\\n отговорил дотогава.</p>\\n <p>Ако Вие пишете за това заявление (във форум или блог например), молим, поставете връзка към тази страница и добавете\\n анотация по-долу, информираща читателите за написаното.</p>"
+msgstr "<p>Вашето заявление за {{law_used_full}} беше <strong>изпратено по пътя му</strong>!</p>\\n <p><strong>Ще Ви изпратим имейл,</strong> когато има отговор, или след {{late_number_of_days}} работни дни ако органът все още не е\\n отговорил дотогава.</p>\\n <p>Ако Вие пишете за това заявление (във форум или блог например), молим, поставете връзка към тази страница и добавете\\n коментар по-долу, информиращ читателите за написаното.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
-msgstr "<p>{{site_name}} в момента е в профилактика. Вие може само да разглеждате съществуващи заявления. Не можете да създавате нови, да добавяте препратки или анотации, иначе казано, да променяте базата данни.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} в момента е в профилактика. Вие може само да разглеждате съществуващи заявления. Не можете да създавате нови, да добавяте последващи съобщения или коментари, иначе казано, да променяте базата данни.</p> <p>{{read_only}}</p>"
msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
msgstr "<small>Ако използвате уеб-базирана поща или имате \"junk mail\" филтри, погледнете също и в\\nпапките за нежелана поща. Понякога нашите писма биват маркирани като нежелани.</small>\\n</p>"
msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
-msgstr ""
+msgstr "<strong> Мога ли да поискам информация за себе си?</strong>\\n\t\t\t<a href=\"{{url}}\">Не! (Цъкнете тук за подробности)</a>"
msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
-msgstr "<strong><code>commented_by:tony_bowden</code></strong> за да търсите анотации, направени от Tony Bowden, като пишете името както в URL."
+msgstr "<strong><code>commented_by:tony_bowden</code></strong> за да търсите коментари, направени от Tony Bowden, като пишете името както в URL."
msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
msgstr "<strong><code>filetype:pdf</code></strong> за да намерите всички отговори с приложен PDF файл. Или опитайте така: <code>{{list_of_file_extensions}}</code>"
@@ -213,7 +213,7 @@ msgid "<strong><code>status:</code></strong> to select based on the status or hi
msgstr "<strong><code>status:</code></strong> търсене, базирано на състоянието или предишно състояние на заявлението, вижте <a href=\"{{statuses_url}}\">таблица на състоянията</a> по-долу."
msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
-msgstr ""
+msgstr "<strong><code>tag:charity</code></strong> за да намерите всички публични органи или заявления с даден маркер. Може да включите повече маркери, \\n и стойности на маркери, напр. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Забележете, че по подразбиране може да напишете\\n който и да е маркер и че трябва да поставите <code>AND</code> само ако искате всички да се съдържат в резултатите."
msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
msgstr "<strong><code>variety:</code></strong> за да зададете тип на нещо за търсене, вижте <a href=\"{{varieties_url}}\">таблицата със свойства</a> по-долу."
@@ -234,25 +234,25 @@ msgid "<strong>Clarification</strong> has been requested"
msgstr "Поискано е <strong>пояснение</strong>"
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
-msgstr ""
+msgstr "<strong>Не беше получен</strong> отговор\\n <small>(може би има само потвърждение)</small>"
msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
msgstr "<strong>Бележка:</strong> Поради това че тестваме, заявленията се изпращат до {{email}} вместо до действителния орган."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr ""
+msgstr "<strong>Забележете:</strong> Вие изпращате писмо до себе си, вероятно\\n за да видите как работи."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
msgstr "<strong>Бележка:</strong>\\n Ще изпратим имейл на новия Ви адрес. Следвайте\\n инструкциите в него за да потвърдите смяната на имейл адреса Ви."
msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
-msgstr ""
+msgstr "<strong>Забележка за лични данни:</strong> Ако желаете да поискате лична\\n информация за себе си, <a href=\"{{url}}\">цъкнете тук</a>."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "<strong>Важно! :</strong> Вашата снимка ще бъде показвана в Интернет,\\n всеки път, когато направите нещо в {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
-msgstr ""
+msgstr "<strong>Предупреждение за лични данни:</strong> Вашето съобщение и последвалите \\n отговори към него, ще бъдат показвани публично на този сайт."
msgid "<strong>Some of the information</strong> has been sent "
msgstr "<strong>Част от информацията</strong> е изпратена "
@@ -264,10 +264,10 @@ msgid "<strong>did not have</strong> the information requested."
msgstr "<strong>не са имали</strong> исканата информация."
msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "<a href=\"{{request_url}}\">Пояснително съобщение</a> към <em>{{request_title}}</em> беше изпратено до {{public_body_name}} от {{info_request_user}} на {{date}}."
msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
-msgstr ""
+msgstr "Към <em>{{request_title}}</em> беше изпратен <a href=\"{{request_url}}\">отговор</a> от {{public_body_name}} до {{info_request_user}} на {{date}}. Състоянието на заявлението е: {{request_status}}"
msgid "A <strong>summary</strong> of the response if you have received it by post. "
msgstr "<strong>Обобщение</strong> на отговора ако сте го получили по пощата. "
@@ -276,10 +276,10 @@ msgid "A Freedom of Information request"
msgstr "Заявление за достъп до обществена информация"
msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
-msgstr ""
+msgstr "Пълната история на моето заявление за ДдИ и цялата кореспонденция е достъпна в Интернет на този адрес: {{url}}"
msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "Ново заявление, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, беше изпратено до {{public_body_name}} от {{info_request_user}} на {{date}}."
msgid "A public authority"
msgstr "Публичен орган"
@@ -291,7 +291,7 @@ msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Странен отговор, изисква вниманието на екипа на {{site_name}}"
msgid "A vexatious request"
-msgstr ""
+msgstr "Неоснователно Заявление"
msgid "A {{site_name}} user"
msgstr "Потребител на {{site_name}}"
@@ -312,10 +312,10 @@ msgid "ActsAsXapian::ActsAsXapianJob|Model"
msgstr ""
msgid "Add an annotation"
-msgstr "Добавяне на анотация"
+msgstr "Добавяне на коментар"
msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
-msgstr ""
+msgstr "Добавете коментар към Вашето Заявление с избрани цитати, или\\n <strong>обобщение на отговора</strong>."
msgid "Added on {{date}}"
msgstr "Добавено на {{date}}"
@@ -336,7 +336,7 @@ msgid "Advise on whether the <strong>refusal is legal</strong>, and how to compl
msgstr "Съветвайте дали <strong>отказът е законен</strong> и как да се подаде оплакване, ако не е."
msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
-msgstr ""
+msgstr "Въздух, вода, почва, земя, флора и фауна (включително\\nтяхното влияние върху хората)"
msgid "All of the information requested has been received"
msgstr "Цялата поискана информация беше получена"
@@ -354,13 +354,13 @@ msgid "Also send me alerts by email"
msgstr "Изпращай ми известия и по имейл"
msgid "Alter your subscription"
-msgstr "Промяна на регистрацията Ви"
+msgstr "Промяна на абонамента Ви"
msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
-msgstr ""
+msgstr "Въпреки че всички отговори автоматично се публикуват, разчитаме на Вас,\\nкато заявител, да ги оценявате."
msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
-msgstr ""
+msgstr "Беше добавен <a href=\"{{request_url}}\">коментар</a> към <em>{{request_title}}</em> от {{event_comment_user}} на {{date}}"
msgid "An <strong>error message</strong> has been received"
msgstr "Беше получено <strong>съобщение за грешка</strong>"
@@ -369,22 +369,22 @@ msgid "An Environmental Information Regulations request"
msgstr ""
msgid "An anonymous user"
-msgstr ""
+msgstr "Анонимен потребител"
msgid "Annotation added to request"
-msgstr "Добавена е анотация към заявление"
+msgstr "Добавен е коментар към заявление"
msgid "Annotations"
-msgstr "Анотации"
+msgstr "Коментари"
msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
-msgstr "С анотациите всеки, включително Вие, може да помогне на питащия за неговото заявление. Например:"
+msgstr "С коментарите всеки, включително Вие, може да помогне на питащия за неговото заявление. Например:"
msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
-msgstr ""
+msgstr "Коментарите ще бъдат публикувани тук и\\n <strong>няма</strong> да бъдат изпращани до {{public_body_name}}."
msgid "Anonymous user"
-msgstr ""
+msgstr "Анонимен потребител"
msgid "Anyone:"
msgstr "Който и да е:"
@@ -393,16 +393,16 @@ msgid "Applies to"
msgstr ""
msgid "Are we missing a public authority?"
-msgstr ""
+msgstr "Да не сме пропуснали публичен орган?"
msgid "Are you the owner of any commercial copyright on this page?"
-msgstr ""
+msgstr "Притежавате ли Вие някакви авторски права върху тази страница?"
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Питайте за <strong>конкретни</strong> документи или информация, този сайт не е подходящ за запитвания от общ характер."
msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
-msgstr ""
+msgstr "В дъното на тази страница, им напишете отговор, като се опитате да ги убедите,\\n да го сканират (<a href=\"{{url}}\">по-детайлно</a>)."
msgid "Attachment (optional):"
msgstr "Прикачени файлове (незадължително):"
@@ -420,7 +420,7 @@ msgid "Awaiting response."
msgstr "Чака отговор."
msgid "Beginning with"
-msgstr "Започващ с"
+msgstr "Започващи с"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
msgstr "Разгледайте <a href='{{url}}'>други запитвания</a> като примери за това как да опишете заявлението си."
@@ -441,7 +441,7 @@ msgid "Calculated home page"
msgstr ""
msgid "Can't find the one you want?"
-msgstr ""
+msgstr "Не намирате това, което искате?"
msgid "Cancel a {{site_name}} alert"
msgstr "Спиране на известия от {{site_name}}"
@@ -513,13 +513,13 @@ msgid "Clarification"
msgstr "Изясняване"
msgid "Clarify your FOI request - "
-msgstr ""
+msgstr "Пояснете Вашето Заявление за ДдИ - "
msgid "Classify an FOI response from "
msgstr ""
msgid "Clear photo"
-msgstr ""
+msgstr "Премахни снимката"
msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
msgstr "Цъкнете връзката по-долу за да изпратите съобщение на {{public_body_name}}, казващо им да отговорят на заявлението Ви. Може да поискате да направят вътрешно\\nразглеждане, с което да открият причината защо отговорът на заявлението се е забавил толкова много."
@@ -528,10 +528,10 @@ msgid "Click on the link below to send a message to {{public_body}} reminding th
msgstr "Цъкнете върху връзката по-долу за да изпратите съобщение до {{public_body}}, подсещащо го да отговори на заявлението Ви."
msgid "Close"
-msgstr ""
+msgstr "Затвори"
msgid "Comment"
-msgstr ""
+msgstr "Коментар"
msgid "Comment|Body"
msgstr "Коментар|Тяло"
@@ -546,22 +546,22 @@ msgid "Comment|Visible"
msgstr ""
msgid "Confirm you want to follow all successful FOI requests"
-msgstr ""
+msgstr "Потвърдете, че искате да следвате всички успешни Заявления за ДдИ"
msgid "Confirm you want to follow new requests"
-msgstr ""
+msgstr "Потвърдете, че искате да следвате новите заявления"
msgid "Confirm you want to follow new requests or responses matching your search"
-msgstr ""
+msgstr "Потвърдете, че искате да следвате новите заявления или отговори, съвпадащи с търсенето Ви"
msgid "Confirm you want to follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Потвърдете, че искате да следвате заявления от '{{user_name}}'"
msgid "Confirm you want to follow requests to '{{public_body_name}}'"
-msgstr ""
+msgstr "Потвърдете, че искате да следвате заявления до '{{public_body_name}}'"
msgid "Confirm you want to follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Потвърдете, че искате да следвате заявлението '{{request_title}}'"
msgid "Confirm your FOI request to "
msgstr "Потвърдете Вашето заявление за ДдИ до "
@@ -570,7 +570,7 @@ msgid "Confirm your account on {{site_name}}"
msgstr "Потвърдете Вашия акаунт в {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
-msgstr "Потвърдете Вашата анотация към {{info_request_title}}"
+msgstr "Потвърдете Вашия коментар към {{info_request_title}}"
msgid "Confirm your email address"
msgstr "Потвърдете Вашия имейл адрес"
@@ -579,10 +579,10 @@ msgid "Confirm your new email address on {{site_name}}"
msgstr "Потвърдете Вашия нов имейл адрес в {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
-msgstr ""
+msgstr "Според администраторите, не е Заявление за ДдИ и е скрито от сайта."
msgid "Considered by administrators as vexatious and hidden from site."
-msgstr ""
+msgstr "Според администраторите е неоснователно и е скрито от сайта."
msgid "Contact {{recipient}}"
msgstr ""
@@ -609,7 +609,7 @@ msgid "Date:"
msgstr "Дата:"
msgid "Dear {{name}},"
-msgstr ""
+msgstr "Уважаеми {{name}},"
msgid "Dear {{public_body_name}},"
msgstr "Уважаеми {{public_body_name}},"
@@ -621,7 +621,7 @@ msgid "Defunct."
msgstr ""
msgid "Delayed response to your FOI request - "
-msgstr "Закъснял отговор на Вашето заявление за ДдИ - "
+msgstr "Закъснява отговорът на Вашето заявление за ДдИ - "
msgid "Delayed."
msgstr "Закъснялo."
@@ -633,7 +633,7 @@ msgid "Destroy {{name}}"
msgstr ""
msgid "Details of request '"
-msgstr ""
+msgstr "Детайли за заявлението '"
msgid "Did you mean: {{correction}}"
msgstr "Може би имахте предвид: {{correction}}"
@@ -654,7 +654,7 @@ msgid "Done"
msgstr "Готово"
msgid "Done &gt;&gt;"
-msgstr ""
+msgstr "Готово &gt;&gt;"
msgid "Download a zip file of all correspondence"
msgstr "Сваляне на zip файл с цялата кореспонденция"
@@ -666,10 +666,10 @@ msgid "EIR"
msgstr ""
msgid "Edit"
-msgstr ""
+msgstr "Редактиране"
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
-msgstr ""
+msgstr "Редактирайте и добавете <strong>повече детайли</strong> към горното съобщение,\\n обяснявайки защо сте недоволни от техния отговор."
msgid "Edit text about you"
msgstr "Редактиране на текста за Вас"
@@ -711,13 +711,13 @@ msgid "Event history details"
msgstr "История на събитията в детайли"
msgid "Event {{id}}"
-msgstr ""
+msgstr "Събитие {{id}}"
msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Това, което напишете на тази страница, включително <strong>Вашето име</strong>,\\n ще бъде <strong>показвано публично</strong> на\\n този сайт завинаги, (<a href=\"{{url}}\">вижте защо</a>)."
msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Всичко, което напишете на тази страница,\\n ще бъде <strong>показвано публично</strong> на\\n този уебсайт завинаги (<a href=\"{{url}}\">защо?</a>)."
msgid "FOI"
msgstr "ДдИ"
@@ -726,7 +726,7 @@ msgid "FOI email address for {{public_body}}"
msgstr "Имейл адрес за ДдИ за {{public_body}}"
msgid "FOI request – {{title}}"
-msgstr ""
+msgstr "Заявление за ДдИ – {{title}}"
msgid "FOI requests"
msgstr "Заявления за ДдИ"
@@ -738,25 +738,25 @@ msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Заявления за ДдИ {{start_count}} до {{end_count}} от {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
-msgstr ""
+msgstr "Отговорът за ДдИ изисква администратор ({{reason}}) - {{title}}"
msgid "Failed to convert image to a PNG"
msgstr "Неуспех при конвертиране на изображението в PNG"
msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
-msgstr ""
+msgstr "Неуспех при конвертирането на изображение към коректния размер: от {{cols}}x{{rows}}, на {{width}}x{{height}}"
msgid "Filter"
msgstr "Филтър"
msgid "First, did your other requests succeed?"
-msgstr ""
+msgstr "Първо, успешни ли бяга другите Ви заявления?"
msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Първо, напишете <strong>името на публичния орган,</strong> от който\\n искате информация. <strong>По закон, те трябва да отговорят</strong>\\n (<a href=\"{{url}}\">ето защо</a>)."
msgid "Foi attachment"
-msgstr ""
+msgstr "ДдИ приложение"
msgid "FoiAttachment|Charset"
msgstr ""
@@ -780,22 +780,22 @@ msgid "FoiAttachment|Within rfc822 subject"
msgstr ""
msgid "Follow"
-msgstr ""
+msgstr "Следване"
msgid "Follow all new requests"
-msgstr ""
+msgstr "Следване на всички нови заявления"
msgid "Follow new successful responses"
-msgstr ""
+msgstr "Следене на новите успешни отговори"
msgid "Follow requests to {{public_body_name}}"
-msgstr ""
+msgstr "Следване на заявления до {{public_body_name}}"
msgid "Follow these requests"
msgstr "Следване на тези заявления"
msgid "Follow things matching this search"
-msgstr ""
+msgstr "Следене на нещата, съвпадащи с това търсене"
msgid "Follow this authority"
msgstr "Следване на този орган"
@@ -804,28 +804,37 @@ msgid "Follow this link to see the request:"
msgstr "Последвайте тази връзка за да видите заявлението:"
msgid "Follow this person"
-msgstr ""
+msgstr "Следвай този потребител"
msgid "Follow this request"
msgstr "Следване на това заявление"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
-msgstr "Последвайте"
+msgstr "Пояснително съобщение"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
-msgstr "Следвайте съобщението, изпратено от заявителя"
+msgstr "Пояснително съобщение, изпратено от заявителя"
msgid "Follow up messages to existing requests are sent to "
-msgstr "Следвайте съобщения към съществуващи заявления, изпратени към "
+msgstr "Пояснителни съобщения към съществуващи заявления, изпратени към "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
-msgstr "Следванията и новите отговори към това заявление бяха спрени за предотвратяване на спам. Моля, <a href=\"{{url}}\">свържете се с нас</a> ако сте {{user_link}} и се нуждаете от изпращане на следвания."
+msgstr "Пояснителни съобщения от заявителя и новите отговори от органа към това заявление бяха спрени за предотвратяване на спам. Моля, <a href=\"{{url}}\">свържете се с нас</a> ако сте {{user_link}} и имате нужда да изпратите пояснително съобщение."
msgid "Follow us on twitter"
msgstr "Последвайте ни в twitter"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
-msgstr ""
+msgstr "Не може да се изпращат пояснителни съобщения към това заявление, понеже то е външно за нас и е публикувано тук от {{public_body_name}} от името на заявителя."
msgid "For an unknown reason, it is not possible to make a request to this authority."
msgstr "Поради неопределена причина, не е възможно да се изпрати заявление към този орган."
@@ -835,8 +844,8 @@ msgstr "Забравили сте паролата си?"
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Намерен е {{count}} публичен орган {{description}}"
+msgstr[1] "Намерени са {{count}} публични органа {{description}}"
msgid "Freedom of Information"
msgstr "Достъп до информация"
@@ -845,13 +854,13 @@ msgid "Freedom of Information Act"
msgstr "Закон за достъп до обществена информация"
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
-msgstr ""
+msgstr "Законът за Достъп до Обществена Информация не е приложим за този орган,\\n така че, Вие не може да направите заявление към него."
msgid "Freedom of Information law no longer applies to"
msgstr "Законодателството за достъп до обществена информация вече не може да се прилага за"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr "Законодателството за достъп до обществена информация вече не може да се прилага за този орган. Следващите съобщения към съществуващи заявления са изпращани до "
+msgstr "Законодателството за достъп до обществена информация вече не може да се прилага за този орган. Последващите съобщения към съществуващите заявления се изпращат до "
msgid "Freedom of Information requests made"
msgstr "Заявления за достъп до информация, направени"
@@ -869,10 +878,10 @@ msgid "Freedom of information requests to"
msgstr "Заявления за достъп до информация към"
msgid "From"
-msgstr ""
+msgstr "От"
msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "От страницата на Заявлението опитайте да отговорите на конкретно съобщение, вместо да изпращате\\n общо пояснително съобщение. Ако все пак искате да направите такова, и знаете\\n имейл адреса, към който да се отпрати, молим <a href=\"{{url}}\">изпратете ни този адрес</a>."
msgid "From:"
msgstr "От:"
@@ -911,13 +920,13 @@ msgid "Here is the message you wrote, in case you would like to copy the text an
msgstr "Ето съобщението, което написахте, в случай, че искате да копирате текста и да го запазите за по-късно."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
-msgstr ""
+msgstr "Здравейте! Имаме нужда от помощта Ви. Потребителят, направил следното Заявление\\n не ни е казал дали то е успешно или не. Бихте ли отделили\\n минута да го прочетете и да ни помогнете да поддържаме нещата подредени?\\n Благодарим Ви!"
msgid "Hide request"
-msgstr ""
+msgstr "Скрий заявлението"
msgid "Holiday"
-msgstr ""
+msgstr "Празник"
msgid "Holiday|Day"
msgstr "Празник|Ден"
@@ -929,7 +938,7 @@ msgid "Home"
msgstr "Начало"
msgid "Home page"
-msgstr ""
+msgstr "Начална страница"
msgid "Home page of authority"
msgstr "Сайт на публичния орган"
@@ -947,7 +956,7 @@ msgid "I am requesting an <strong>internal review</strong>"
msgstr "Бих искал да се извърши <strong>вътрешно разглеждане</strong>"
msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
-msgstr ""
+msgstr "Пиша Ви, за да поискам вътрешно разглеждане на начина, по който {{public_body_name}} обработи моето Заявление за ДдИ '{{info_request_title}}'."
msgid "I don't like these ones &mdash; give me some more!"
msgstr "Тези не ги харесвам &mdash; дай ми още няколко!"
@@ -956,13 +965,13 @@ msgid "I don't want to do any more tidying now!"
msgstr "Не искам да чистя повече точно сега!"
msgid "I like this request"
-msgstr ""
+msgstr "Харесвам това Заявление"
msgid "I would like to <strong>withdraw this request</strong>"
msgstr "Бих искал да <strong>изтегля това заявление</strong>"
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
-msgstr ""
+msgstr "Аз все още <strong>чакам</strong> за моята информация\\n <small>(може би Вие имате потвърждение)</small>"
msgid "I'm still <strong>waiting</strong> for the internal review"
msgstr "Аз все още <strong>чакам</strong> вътрешното разглеждане"
@@ -983,13 +992,13 @@ msgid "I've received an <strong>error message</strong>"
msgstr "Аз получих <strong>съобщение за грешка</strong>"
msgid "I've received an error message"
-msgstr ""
+msgstr "Получих съобщение за грешка"
msgid "Id"
msgstr ""
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Ако адресът е грешен, или знаете по-добър адрес, моля <a href=\"{{url}}\">пишете ни</a>."
msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
msgstr "Ако това е грешка при доставката и Вие можете да посочите актуален имейл адрес за органа, молим, уведомете ни чрез формата по-долу."
@@ -998,31 +1007,31 @@ msgid "If this is incorrect, or you would like to send a late response to the re
msgstr "Ако това е грешно, или бихте желали да изпратите закъснял отговор на заявлението\\nили имейл по друга тема до {{user}}, то молим,\\nпишете ни на {{contact_email}} за помощ."
msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
-msgstr ""
+msgstr "Ако не сте удовлетворени от отговора, получен от\\n публичния орган, имате правото да\\n се оплачете (<a href=\"{{url}}\">още за това</a>)."
msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Ако все още се затруднявате, моля <a href=\"{{url}}\">пишете ни</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
-msgstr ""
+msgstr "Ако заявителят сте Вие, <a href=\"{{url}}\">влезте</a> за да видите съобщението."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr ""
+msgstr "Ако Вие сте заявителя, може да <a href=\"{{url}}\">влезете</a> за да видите заявлението."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
-msgstr ""
+msgstr "Ако възнамерявате да ползвате псевдоним,\\n молим <a href=\"{{url}}\">прочетете първо това</a>."
msgid "If you are {{user_link}}, please"
msgstr "Ако Вие сте {{user_link}}, моля"
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr ""
+msgstr "Ако смятате, че това заявление е неподходящо, може да го докладвате на вниманието на администратор на сайта"
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
msgstr "Ако не можете да цъкнете върху нея в имейла, Вие ще трябва да я\\n<strong>маркирате и копирате</strong> от там. После я <strong>поставете в браузъра Ви</strong>,\\nкъдето пишете адреса на желаната от Вас страница."
msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
-msgstr ""
+msgstr "Ако можете, сканирайте или снимайте отговора и <strong>ни пратете\\n копие за да го качим</strong>."
msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
msgstr "Ако Вие, като занимаващ се с ДдИ, намирате тази услуга за полезна, моля, помолете Вашия уеб администратор да постави връзка към нас на страницата на Вашата организация."
@@ -1040,7 +1049,7 @@ msgid "If you use web-based email or have \"junk mail\" filters, also check your
msgstr "Ако използвате уеб-базирана поща или имате \"junk mail\" филтри, погледнете\\nсъщо и в папките за нежелана поща. Понякога нашите писма биват маркирани като нежелани."
msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
-msgstr ""
+msgstr "Ако Вие искате да премахнем това ограничение, то може учтиво\\n<a href=\"/help/contact\">да се свържете с нас</a> и да ни дадете причини да го направим.\\n"
msgid "If you're new to {{site_name}}"
msgstr "Ако сте нов в {{site_name}}"
@@ -1049,13 +1058,13 @@ msgid "If you've used {{site_name}} before"
msgstr "Ако сте използвали {{site_name}} преди"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
-msgstr ""
+msgstr "Ако Вашият браузър е настроен да работи с бисквитки и виждате това съобщение,\\nто вероятно има проблем с нашия сървър."
msgid "Incoming email address"
msgstr "Адрес за входяща поща"
msgid "Incoming message"
-msgstr ""
+msgstr "Входящо съобщение"
msgid "IncomingMessage|Cached attachment text clipped"
msgstr ""
@@ -1091,10 +1100,10 @@ msgid "IncomingMessage|Valid to reply to"
msgstr ""
msgid "Individual requests"
-msgstr ""
+msgstr "Индивидуални заявления"
msgid "Info request"
-msgstr ""
+msgstr "Info Заявление"
msgid "Info request event"
msgstr ""
@@ -1166,25 +1175,25 @@ msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests t
msgstr "Грешен ли е адресът {{email_address}} за {{type_of_request}} заявления към {{public_body_name}}? Ако да, моля свържете се с нас, използвайки тази форма:"
msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
-msgstr "Може да е от това, че браузърът Ви е конфигуриран да не работи с \"бисквитки\",\\nили не може да го прави. Ако можете, моля, разрешете бисквитките, или опитайте с друг\\nбраузър. След това натиснете опресняване, за да опитате отново."
+msgstr "Може да е от това, че браузърът Ви е конфигуриран да не работи с \"бисквитки\",\\nили не може да го прави. Ако е възможно, бихте ли разрешили бисквитките, или направили опит с друг\\nбраузър. След това натиснете опресняване, за да опитате отново."
msgid "Items matching the following conditions are currently displayed on your wall."
-msgstr ""
+msgstr "Нещата, съвпадащи със следните условия са показани в момента на стената Ви."
msgid "Items sent in last month"
-msgstr ""
+msgstr "Неща, изпратени през последния месец"
msgid "Joined in"
-msgstr "Присъединил се в"
+msgstr "Присъединил се през"
msgid "Joined {{site_name}} in"
-msgstr "Присъединил се към {{site_name}} в"
+msgstr "Присъединил се към {{site_name}} през"
msgid "Just one more thing"
-msgstr ""
+msgstr "Само още едно нещо"
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Бъдете <strong>конкретни</strong>, така увеличавате възможността да получите това, което искате (<a href=\"{{url}}\">ето защо</a>)."
msgid "Keywords"
msgstr "Ключови думи"
@@ -1196,37 +1205,37 @@ msgid "Last request viewed: "
msgstr "Последно гледано заявление: "
msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
-msgstr ""
+msgstr "Обяснете ни какво правите, когато това съобщение се появява,\\nа така също и какви са и коя версия са браузърът и операционната система."
msgid "Link to this"
msgstr "Връзка към това"
msgid "List all"
-msgstr ""
+msgstr "Покажи всички"
msgid "List of all authorities (CSV)"
msgstr "Списък на органите (CSV)"
msgid "Listing FOI requests"
-msgstr ""
+msgstr "Списък на Заявленията за ДдИ"
msgid "Listing public authorities"
-msgstr ""
+msgstr "Списък на публични органи"
msgid "Listing public authorities matching '{{query}}'"
-msgstr ""
+msgstr "Списък на публични органи, съвпадащи с '{{query}}'"
msgid "Listing tracks"
msgstr ""
msgid "Listing users"
-msgstr ""
+msgstr "Списък с потребители"
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Влезте за да свалите zip файл на {{info_request_title}}"
msgid "Log into the admin interface"
-msgstr ""
+msgstr "Влезте в административния панел"
msgid "Long overdue."
msgstr "Значително пресрочено."
@@ -1253,13 +1262,13 @@ msgid "MailServerLog|Order"
msgstr ""
msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
-msgstr ""
+msgstr "Създаване на ново<br/>\\n <strong>Заявление <span>за</span><br/>\\n Достъп до<br/>\\n Информация</strong>"
msgid "Make a request"
msgstr "Създаване на заявление"
msgid "Make a request to this authority"
-msgstr ""
+msgstr "Направете заявление към този орган"
msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
msgstr "Създаване на {{law_used_short}} заявление до '{{public_body_name}}'"
@@ -1271,13 +1280,13 @@ msgid "Make your own request"
msgstr "Създайте Ваше заявление"
msgid "Many requests"
-msgstr ""
+msgstr "Много заявления"
msgid "Message"
-msgstr ""
+msgstr "Съобщение"
msgid "Message has been removed"
-msgstr ""
+msgstr "Съобщението беше премахнато"
msgid "Message sent using {{site_name}} contact form, "
msgstr "Съобщението е изпратено чрез формата за контакти на {{site_name}}, "
@@ -1289,7 +1298,7 @@ msgid "More about this authority"
msgstr "Още за този орган"
msgid "More requests..."
-msgstr ""
+msgstr "Още заявления..."
msgid "More similar requests"
msgstr "Още подобни заявления"
@@ -1307,7 +1316,7 @@ msgid "My requests"
msgstr "Моите заявления"
msgid "My wall"
-msgstr ""
+msgstr "Моята стена"
msgid "Name can't be blank"
msgstr "Името не може да е празно"
@@ -1334,7 +1343,7 @@ msgid "New password: (again)"
msgstr "Новата парола: (отново)"
msgid "New response to '{{title}}'"
-msgstr ""
+msgstr "Нов отговор към '{{title}}'"
msgid "New response to your FOI request - "
msgstr "Нов отговор на Ваше заявление за ДдИ - "
@@ -1379,31 +1388,31 @@ msgid "None made."
msgstr "Няма създадени такива."
msgid "Not a valid FOI request"
-msgstr ""
+msgstr "Не е валидно Заявление за ДдИ"
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
-msgstr ""
+msgstr "Имайте предвид, че заявителят няма да бъде уведомен за коментара Ви, понеже заявлението бе публикувано от {{public_body_name}} от тяхно име."
msgid "Now check your email!"
msgstr "Сега си проверете пощата!"
msgid "Now preview your annotation"
-msgstr "Сега прегледайте Вашата бележка"
+msgstr "Сега прегледайте Вашия коментар"
msgid "Now preview your follow up"
-msgstr ""
+msgstr "Сега, прегледайте пояснителното си съобщение"
msgid "Now preview your message asking for an internal review"
msgstr "Сега прегледайте съобщението, с което ще поискате вътрешно разглеждане"
msgid "Number of requests"
-msgstr ""
+msgstr "Брой заявления"
msgid "OR remove the existing photo"
msgstr "ИЛИ премахнете съществуващата снимка"
msgid "Offensive? Unsuitable?"
-msgstr ""
+msgstr "Обидно? Неподходящо?"
msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
msgstr "Ех! Съжаляваме да чуем, че сте получили отказ на заявлението. Ето какво може да се направи сега."
@@ -1451,7 +1460,7 @@ msgid "Other:"
msgstr "Друг:"
msgid "Outgoing message"
-msgstr ""
+msgstr "Изходящо съобщение"
msgid "OutgoingMessage|Body"
msgstr ""
@@ -1490,16 +1499,16 @@ msgid "Paste this link into emails, tweets, and anywhere else:"
msgstr "Поставете тази препратка в имейли, туитове и където и да е:"
msgid "People"
-msgstr ""
+msgstr "Хора"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr "Хора от {{start_count}} до {{end_count}} от {{total_count}}"
+msgstr "Хора от {{start_count}} до {{end_count}}, от общо {{total_count}}"
msgid "Percentage of requests that are overdue"
-msgstr ""
+msgstr "Процент от просрочените заявления"
msgid "Percentage of total requests"
-msgstr ""
+msgstr "Процент от всички заявления"
msgid "Photo of you:"
msgstr "Ваша снимка:"
@@ -1517,16 +1526,16 @@ msgid "Please"
msgstr "Молим"
msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Моля, <a href=\"{{url}}\">свържете се с нас</a> ако имате някакви въпроси."
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
-msgstr ""
+msgstr "Молим, <a href=\"{{url}}\">дръжте ни в течение</a>, за да можем да го оправим."
msgid "Please <strong>answer the question above</strong> so we know whether the "
msgstr "Молим, <strong>отговорете на въпроса по-горе</strong>, така ние ще знаем, че "
msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
-msgstr ""
+msgstr "Моля,<strong>вижте следните заявления</strong>, и ни\\n уведомете ако има информация в скорошните отговори към тях."
msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
msgstr "Молим, пишете съобщения <strong>само</strong> пряко свързани с Вашето заявление {{request_link}}. Ако желаете да поискате информация, която не е в оригиналното заявление, <a href=\"{{new_request_link}}\">създайте ново заявление</a>."
@@ -1541,7 +1550,7 @@ msgid "Please choose a file containing your photo."
msgstr "Моля, изберете файл с Ваша снимка."
msgid "Please choose a reason"
-msgstr ""
+msgstr "Моля, изберете причина"
msgid "Please choose what sort of reply you are making."
msgstr "Моля, изберете вида отговор, който създавате."
@@ -1562,7 +1571,7 @@ msgid "Please describe more what the request is about in the subject. There is n
msgstr "Моля, по-подробно опишете заявлението в темата. Няма нужда да пишете, че е заявление за ДдИ, ние и без това го добавяме."
msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
-msgstr ""
+msgstr "Молим, не качвайте оскърбителни снимки. Ще премахваме снимки,\\n за които преценим, че са неподходящи."
msgid "Please enable \"cookies\" to carry on"
msgstr "Моля, разрешете \"бисквитките\" за да продължим"
@@ -1586,16 +1595,16 @@ msgid "Please enter the same password twice"
msgstr "Моля, въведете еднаква парола на двете места"
msgid "Please enter your annotation"
-msgstr "Моля, въведете Вашата бележка"
+msgstr "Моля, въведете Вашия коментар"
msgid "Please enter your email address"
msgstr "Моля, въведете Вашия имейл адрес"
msgid "Please enter your follow up message"
-msgstr ""
+msgstr "Моля въведете Вашето пояснително съобщение"
msgid "Please enter your letter requesting information"
-msgstr "Моля, въведете Вашето писмо искащо информация"
+msgstr "Моля, опишете желаната от Вас информация"
msgid "Please enter your name"
msgstr "Моля, въведете Вашето име"
@@ -1622,13 +1631,13 @@ msgid "Please keep the summary short, like in the subject of an email. You can u
msgstr "Моля, напишете кратко описание, като в темата на имейл. По-добре ползвайте фраза, а не цяло изречение."
msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
-msgstr ""
+msgstr "Молим, искайте само информация, която попада в тези категории, <strong>не си губете\\n времето</strong> или времето на публичния орган с искане на несвързана информация."
msgid "Please pass this on to the person who conducts Freedom of Information reviews."
msgstr ""
msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
-msgstr ""
+msgstr "Моля, влезте във всяко от тези заявления по ред и <strong>дайте мнението си</strong>\\nдали вече са успешни или не."
msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
msgstr ""
@@ -1637,7 +1646,7 @@ msgid "Please sign in as "
msgstr "Моля, влезте като "
msgid "Please sign in or make a new account."
-msgstr ""
+msgstr "Моля, влезте или създайте нова регистрация."
msgid "Please type a message and/or choose a file containing your response."
msgstr "Моля, напишете съобщение и/или посочете файл, съдържащ Вашия отговор."
@@ -1652,22 +1661,22 @@ msgid "Please write the summary using a mixture of capital and lower case letter
msgstr "Моля, в обобщението използвайте и малки и главни букви. Това прави четенето лесно за другите."
msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr "Моля, в бележката си използвайте и малки и главни букви. Това прави четенето лесно за другите."
+msgstr "Моля, в коментара си използвайте и малки и главни букви. Това прави четенето лесно за другите."
msgid "Please write your follow up message containing the necessary clarifications below."
-msgstr ""
+msgstr "Моля, по-долу напишете пояснителното си съобщение, съдържащо необходимите разяснения."
msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
msgstr "Моля, във Вашето съобщение използвайте и малки и главни букви. Това прави четенето лесно за другите."
msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
-msgstr ""
+msgstr "Посочете <strong>свързана с това информация</strong>, кампании или форуми, които може да са полезни."
msgid "Possibly related requests:"
msgstr "Вероятно свързани заявления:"
msgid "Post annotation"
-msgstr ""
+msgstr "Публикувай коментара"
msgid "Post redirect"
msgstr ""
@@ -1700,13 +1709,13 @@ msgid "Prev"
msgstr "Преден"
msgid "Preview follow up to '"
-msgstr ""
+msgstr "Преглед на пояснително съобщение до '"
msgid "Preview new annotation on '{{info_request_title}}'"
-msgstr "Преглед на новата анотация на '{{info_request_title}}'"
+msgstr "Преглед на новия коментар към '{{info_request_title}}'"
msgid "Preview your annotation"
-msgstr "Преглед на бележката Ви"
+msgstr "Преглед на коментара Ви"
msgid "Preview your message"
msgstr "Преглед на съобщението Ви"
@@ -1715,7 +1724,7 @@ msgid "Preview your public request"
msgstr "Преглед на публичното Ви заявление"
msgid "Profile photo"
-msgstr ""
+msgstr "Снимка в профила"
msgid "ProfilePhoto|Data"
msgstr ""
@@ -1724,10 +1733,10 @@ msgid "ProfilePhoto|Draft"
msgstr ""
msgid "Public Bodies"
-msgstr ""
+msgstr "Публични органи"
msgid "Public Body Statistics"
-msgstr ""
+msgstr "Статистика за Публичен Огран"
msgid "Public authorities"
msgstr "Публични органи"
@@ -1739,34 +1748,34 @@ msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Публични органи от {{start_count}} до {{end_count}}, от общо{{total_count}}"
msgid "Public authority – {{name}}"
-msgstr ""
+msgstr "Публичен орган – {{name}}"
msgid "Public bodies that most frequently replied with \"Not Held\""
-msgstr ""
+msgstr "Публични органи, отговорили най-често с \"Не се пази\""
msgid "Public bodies with most overdue requests"
-msgstr ""
+msgstr "Публични органи с най-много просрочени заявления"
msgid "Public bodies with the fewest successful requests"
-msgstr ""
+msgstr "Публични органи с най-малко успешни заявления"
msgid "Public bodies with the most requests"
-msgstr ""
+msgstr "Публични органи с най-много заявления"
msgid "Public bodies with the most successful requests"
-msgstr ""
+msgstr "Публични органи с най-много успешни заявления"
msgid "Public body"
msgstr ""
msgid "Public notes"
-msgstr ""
+msgstr "Публични бележки"
msgid "Public page"
-msgstr ""
+msgstr "Публична страница"
msgid "Public page not available"
-msgstr ""
+msgstr "Публичната страница не е достъпна"
msgid "PublicBody|Api key"
msgstr ""
@@ -1792,6 +1801,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -1826,7 +1838,7 @@ msgid "Publication scheme URL"
msgstr ""
msgid "Purge request"
-msgstr ""
+msgstr "Прочистване на заявлението"
msgid "PurgeRequest|Model"
msgstr ""
@@ -1841,13 +1853,13 @@ msgid "RSS feed of updates"
msgstr "RSS емисия на новостите"
msgid "Re-edit this annotation"
-msgstr "Повторно редактиране на тази бележка"
+msgstr "Повторно редактиране на този коментар"
msgid "Re-edit this message"
msgstr "Повторно редактиране на това съобщение"
msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
-msgstr ""
+msgstr "Прочетете за <a href=\"{{advanced_search_url}}\">детайлните оператори за търсене</a>, като приближения и заместващи символи."
msgid "Read blog"
msgstr "Четете в блога"
@@ -1862,22 +1874,22 @@ msgid "Refused."
msgstr "Отказано."
msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
-msgstr ""
+msgstr "Запомни ме</label> (сайтът ще ви помни за по-дълго;\\n не ползвайте това на чужд компютър) "
msgid "Report abuse"
msgstr ""
msgid "Report an offensive or unsuitable request"
-msgstr ""
+msgstr "Докладване на обидно или неподходящо заявление"
msgid "Report request"
-msgstr ""
+msgstr "Докладвай заявлението"
msgid "Report this request"
-msgstr ""
+msgstr "Докладване на това заявление"
msgid "Reported for administrator attention."
-msgstr ""
+msgstr "Докладвано на вниманието на администратор."
msgid "Request an internal review"
msgstr "Искане на вътрешно разглеждане"
@@ -1886,7 +1898,7 @@ msgid "Request an internal review from {{person_or_body}}"
msgstr "Искане на вътрешно разглеждане от {{person_or_body}}"
msgid "Request email"
-msgstr ""
+msgstr "Поискай имейл"
msgid "Request has been removed"
msgstr "Заявлението беше премахнато"
@@ -1895,7 +1907,7 @@ msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}
msgstr "Заявление, изпратено до {{public_body_name}} от {{info_request_user}} на {{date}}."
msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
-msgstr "Заявление до {{public_body_name}} от {{info_request_user}} с бележка от {{event_comment_user}} на {{date}}."
+msgstr "Заявление до {{public_body_name}} от {{info_request_user}} с коментар от {{event_comment_user}} на {{date}}."
msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
msgstr "Поискано от {{public_body_name}} от {{info_request_user}} на {{date}}"
@@ -1904,22 +1916,22 @@ msgid "Requested on {{date}}"
msgstr "Поискано на {{date}}"
msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
-msgstr ""
+msgstr "За просрочени се считат заявления, които са в състояния 'Overdue' или 'Very Overdue'."
msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
-msgstr ""
+msgstr "За успешни се считат заявления, ако са класифицирани като 'Successful' или 'Partially Successful'."
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
-msgstr ""
+msgstr "Неоснователни заявления, или такива за лична информация, се считат за невалидни за целите на ДдИ (<a href=\"/help/about\">вижте повече</a>)."
msgid "Requests or responses matching your saved search"
-msgstr ""
+msgstr "Заявления или отговори, съвпадащи с Вашето запазено търсене"
msgid "Requests similar to '{{request_title}}'"
-msgstr ""
+msgstr "Заявления, подобни на '{{request_title}}'"
msgid "Requests similar to '{{request_title}}' (page {{page}})"
-msgstr ""
+msgstr "Заявления, подобни на '{{request_title}}' (стр. {{page}})"
msgid "Respond by email"
msgstr "Отговорете с имейл"
@@ -1940,7 +1952,7 @@ msgid "Response from a public authority"
msgstr "Отговор от публичен орган"
msgid "Response to '{{title}}'"
-msgstr ""
+msgstr "Отговор към '{{title}}'"
msgid "Response to this request is <strong>delayed</strong>."
msgstr "Отговорът на това заявление е <strong>закъснял</strong>."
@@ -1979,10 +1991,10 @@ msgid "Search in"
msgstr "Търсене в"
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr ""
+msgstr "Търсене измежду<br/>\\n <strong>{{number_of_requests}} заявления</strong> <span>и</span><br/>\\n <strong>{{number_of_authorities}} органа</strong>"
msgid "Search queries"
-msgstr ""
+msgstr "Заявки за търсене"
msgid "Search results"
msgstr "Резултати от търсенето"
@@ -1992,8 +2004,8 @@ msgstr "С търсачката в сайта може да намерите т
msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Търсене измежду {{count}} Заявление за Достъп до Информация, отправено към {{public_body_name}}"
+msgstr[1] "Търсене измежду {{count}} Заявления за Достъп до Информация, отправени към {{public_body_name}}"
msgid "Search your contributions"
msgstr "Търсене в допринесеното от Вас"
@@ -2008,19 +2020,19 @@ msgid "Select the authority to write to"
msgstr "Изберете органа, на който ще пишете"
msgid "Send a followup"
-msgstr ""
+msgstr "Изпращане на пояснително съобщение"
msgid "Send a message to "
msgstr "Изпращане съобщение до "
msgid "Send a public follow up message to {{person_or_body}}"
-msgstr ""
+msgstr "Изпращане на публично пояснително съобщение до {{person_or_body}}"
msgid "Send a public reply to {{person_or_body}}"
msgstr "Изпращане публичен отговор до {{person_or_body}}"
msgid "Send follow up to '{{title}}'"
-msgstr ""
+msgstr "Изпращане на пояснително съобщение към '{{title}}'"
msgid "Send message"
msgstr "Изпращане на съобщение"
@@ -2035,22 +2047,22 @@ msgid "Set your profile photo"
msgstr "Задайте снимка за профила Ви"
msgid "Short name"
-msgstr ""
+msgstr "Кратко име"
msgid "Short name is already taken"
msgstr "Краткото име вече е заето"
msgid "Show most relevant results first"
-msgstr ""
+msgstr "Покажи първо най-близките по значение резултати"
msgid "Show only..."
msgstr "Покажи само..."
msgid "Showing"
-msgstr "Показва"
+msgstr "Търсене в"
msgid "Sign in"
-msgstr "Влизане"
+msgstr "Регистриране"
msgid "Sign in or make a new account"
msgstr "Вход или нова регистрация"
@@ -2077,19 +2089,19 @@ msgid "Some of the information requested has been received"
msgstr "Част от поисканата информация беше получена"
msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
-msgstr ""
+msgstr "За няколко заявления, потребителите, които са ги отправили, не са отбелязали\\nуспешни ли са или не. Нужна ни е <strong>Вашата</strong> помощ &ndash;\\nизберете едно от тези Заявления, прочетете го и определете предоставена ли е\\nисканата информация или не. Всички ще научат за това и ще Ви бъдат изключително благодарни."
msgid "Somebody added a note to your FOI request - "
msgstr "Някой добави бележка към заявлението Ви за ДдИ - "
msgid "Someone has updated the status of your request"
-msgstr ""
+msgstr "Някой обнови състоянието на Заявлението Ви"
msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
msgstr "Някой, вероятно Вие, току-що се опита да смени своя имейл адрес в\\n{{site_name}} от {{old_email}} на {{new_email}}."
msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
-msgstr ""
+msgstr "Съжаляваме - не може да отговорите на това заявление чрез {{site_name}}, понеже е копие на заявление на {{link_to_original_request}}."
msgid "Sorry, but only {{user_name}} is allowed to do that."
msgstr "Съжаляваме, но само {{user_name}} има право да направи това."
@@ -2110,13 +2122,13 @@ msgid "Start your own blog"
msgstr "Започнете собствен блог"
msgid "Stay up to date"
-msgstr ""
+msgstr "Бъди в час"
msgid "Still awaiting an <strong>internal review</strong>"
msgstr "Все още очаква <strong>вътрешно разглеждане</strong>"
msgid "Subject"
-msgstr ""
+msgstr "Тема"
msgid "Subject:"
msgstr "Тема:"
@@ -2152,7 +2164,7 @@ msgid "Table of varieties"
msgstr "Таблица на разновидностите"
msgid "Tags"
-msgstr ""
+msgstr "Маркери"
msgid "Tags (separated by a space):"
msgstr "Маркери (отделени с интервал):"
@@ -2167,7 +2179,7 @@ msgid "Thank you for helping us keep the site tidy!"
msgstr "Благодарим Ви, че ни помагате да поддържаме сайта спретнат!"
msgid "Thank you for making an annotation!"
-msgstr "Благодарим Ви, че добавихте бележка!"
+msgstr "Благодарим Ви, че добавихте коментар!"
msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
msgstr "Благодарим Ви, че отговорихте на това заявление за ДдИ! Вашият отговор беше публикуван по-долу, а препратка към отговора Ви беше изпратена с имейл на "
@@ -2182,22 +2194,22 @@ msgid "Thank you for updating your profile photo"
msgstr "Благодарим Ви, че обновихте снимката си в профила"
msgid "Thank you! We'll look into what happened and try and fix it up."
-msgstr ""
+msgstr "Благодарим Ви! Ще наблюдаваме какво се случва, ще пробваме и ще го коригираме."
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
-msgstr ""
+msgstr "Благодарим за помощта - работата Ви ще улесни всички в намирането на успешните\\nотговори и ще ни помогне да поддържаме класациите..."
msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
-msgstr ""
+msgstr "Благодарим Ви много - това ще помогне на всички в намирането на\\n полезно съдържание. Също, ако желаете, можем да Ви посъветваме за\\n следващата Ви стъпка с Вашето Заявление."
msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
-msgstr ""
+msgstr "Благодарим Ви много за това, че ни помагате да поддържаме всичко <strong>спретнато и подредено</strong>.\\n Също така, ако желаете, можем да Ви дадем съвет за следващите\\n Ви стъпки за всяко от Вашите Заявления."
msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
msgstr "Това не изглежда да е валиден имейл адрес. Моля, проверете дали сте го написали правилно."
msgid "The <strong>review has finished</strong> and overall:"
-msgstr ""
+msgstr "<strong>Вътрешното разглеждане завърши</strong>, и като цяло:"
msgid "The Freedom of Information Act <strong>does not apply</strong> to"
msgstr "Законът за Достъп до обществена информация <strong>не се прилага</strong> за"
@@ -2218,7 +2230,7 @@ msgid "The authority would like to / has <strong>responded by post</strong> to t
msgstr "Публичният орган би желал или вече е<strong>отговорил по пощата</strong> на това заявление."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "Класифицирането на заявления, (напр. дали са успешни или не) е направено от потребители и администратори на сайта, като те би могло да са сгрешили."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
msgstr "Имейлът, който Вие изпратихте от името на {{public_body}}, до\\n{{user}} в отговор на заявление за {{law_used_short}}\\nне беше доставено."
@@ -2230,7 +2242,7 @@ msgid "The page doesn't exist. Things you can try now:"
msgstr "Страницата не съществува. Това, което може да опитате сега:"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Процентите се изчисляват на база всички заявления, което включва и невалидните. Това е известен проблем, който ще бъде коригиран в следваща версия."
msgid "The public authority does not have the information requested"
msgstr "Публичният орган не разполага с исканата информация"
@@ -2263,16 +2275,16 @@ msgid "The request was refused by the public authority"
msgstr "Заявлението беше отхвърлено от публичния орган"
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Заявлението, което се опитвате да видите, беше премахнато. Има\\nразлични причини, поради които може да сме го направили, но за съжаление, тук не можем да сме по-конкретни. Молим <a\\n href=\"{{url}}\">свържете се с нас</a> ако имате въпроси."
msgid "The requester has abandoned this request for some reason"
msgstr "Това заявление беше изоставено от заявителя поради някаква причина"
msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
-msgstr ""
+msgstr "Отговорът на Вашето заявление <strong>закъснява</strong>. Може да се каже,\\n че по закон, органът трябва да отговори\\n <strong>в срок</strong> и"
msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
-msgstr ""
+msgstr "Отговорът на Вашето заявление е <strong>доста закъснял</strong>. Може да се каже, че\\n по закон, при всички обстоятелства, органът трябваше да е отговорил\\n до сега"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
msgstr "Търсачката ни не е достъпна в момента, поради което не можем да покажем Заявленията за Достъп до информация, отправени към този орган."
@@ -2299,7 +2311,7 @@ msgid "Then you can classify the FOI response you have got from "
msgstr "След това може да класифицирате отговора за ДдИ, който сте получили от "
msgid "Then you can download a zip file of {{info_request_title}}."
-msgstr "След това ще може да свалите zip файл на {{info_request_title}}."
+msgstr "След това ще може да свалите {{info_request_title}} като zip файл."
msgid "Then you can log into the administrative interface"
msgstr "След това ще можете да влезете в административния интерфейс"
@@ -2308,7 +2320,7 @@ msgid "Then you can play the request categorisation game."
msgstr ""
msgid "Then you can report the request '{{title}}'"
-msgstr ""
+msgstr "След това ще можете да докладвате заявлението '{{title}}'"
msgid "Then you can send a message to "
msgstr "След това ще може да изпратите съобщение до "
@@ -2317,31 +2329,31 @@ msgid "Then you can sign in to {{site_name}}"
msgstr "След това ще можете да влезете в {{site_name}}"
msgid "Then you can update the status of your request to "
-msgstr "След това ще можете да обновите статуса на заявлението Ви до "
+msgstr "След това ще можете да обновите статуса на заявлението Ви към"
msgid "Then you can upload an FOI response. "
msgstr "След това ще може да качите отговор за ДдИ. "
msgid "Then you can write follow up message to "
-msgstr ""
+msgstr "След това ще можете да изпратите пояснително съобщение до "
msgid "Then you can write your reply to "
msgstr "След това ще можете да напишете отговора си до "
msgid "Then you will be following all new FOI requests."
-msgstr ""
+msgstr "След това Вие ще следвате всички нови заявления за ДдИ."
msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
-msgstr ""
+msgstr "След това ще бъдете уведомявани, когато '{{user_name}}' отправи заявление или получи отговор."
msgid "Then you will be notified whenever a new request or response matches your search."
-msgstr ""
+msgstr "След това ще бъдете уведомяван всеки път, когато ново заявление или отговор съвпадне с търсенето Ви."
msgid "Then you will be notified whenever an FOI request succeeds."
-msgstr ""
+msgstr "След това ще бъдете уведомявани при всеки успех на заявление за ДдИ."
msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
-msgstr ""
+msgstr "След това ще бъдете уведомявани, когато някой отправи заявление или получи отговор от '{{public_body_name}}'."
msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
msgstr ""
@@ -2353,178 +2365,178 @@ msgid "Then your FOI request to {{public_body_name}} will be sent."
msgstr "След това Вашите заявления за ДдИ до {{public_body_name}} ще бъдат изпратени."
msgid "Then your annotation to {{info_request_title}} will be posted."
-msgstr ""
+msgstr "След това коментарът Ви към {{info_request_title}} ще бъде показан."
msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
-msgstr ""
+msgstr "Има {{count}} нови коментари по заявлението Ви {{info_request}}. Последвайте тази връзка за да видите какво са написали."
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Има <strong>повече от един потребител</strong> с това име, ползващ този сайт.\\n Един от тях е показан по-долу, може би имате предвид друго:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
-msgstr ""
+msgstr "Има ограничение на броя заявления на ден, които може да направите, понеже не желаем публичните органи да бъдат бомбардирани с голям брой неуместни заявления. Ако считате, че имате основателна причина да поискате вдигане на лимита във Вашия случай, молим, <a href='{{help_contact_path}}'>уведомете ни</a>."
msgid "There is {{count}} person following this request"
msgid_plural "There are {{count}} people following this request"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Има {{count}} потребител, следящ това заявление"
+msgstr[1] "Има {{count}} потребители, следящи това заявление"
msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
-msgstr ""
+msgstr "Получи се някаква <strong>грешка при обработката</strong>, която се нуждае от вниманието на екипа на {{site_name}}."
msgid "There was an error with the words you entered, please try again."
-msgstr ""
+msgstr "Получи се грешка с въведените от Вас думи. Моля, опитайте отново."
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "За тази графика все още няма изчислени данни."
msgid "There were no requests matching your query."
-msgstr ""
+msgstr "Няма заявления, съвпадащи със заявката Ви."
msgid "There were no results matching your query."
-msgstr ""
+msgstr "Няма резултати, съвпадащи със заявката ви."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Тези графики са частично вдъхновени от <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">някои статистики, които Mark Goodge създаде за WhatDoTheyKnow</a>, за което му благодарим."
msgid "They are going to reply <strong>by post</strong>"
-msgstr ""
+msgstr "Те ще отговорят <strong>по пощата</strong>"
msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
-msgstr ""
+msgstr "Те <strong>не притежават</strong> информацията <small>(вероятно посочват кой я притежава)</small>"
msgid "They have been given the following explanation:"
-msgstr ""
+msgstr "Те са дали следното обяснение:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr ""
+msgstr "Те не са отговорили на заявлението Ви за {{law_used_short}} {{title}} навреме, както нормално се изисква по закон"
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
-msgstr ""
+msgstr "Те не са отговорили на Вашето Заявление {{title}} за {{law_used_short}} ,\\nкакто се изисква от закона"
msgid "Things to do with this request"
-msgstr ""
+msgstr "С това заявление можете да направите"
msgid "Things you're following"
-msgstr ""
+msgstr "Нещата, които следите"
msgid "This authority no longer exists, so you cannot make a request to it."
-msgstr ""
+msgstr "Този орган вече не съществува, поради което не може да отправите заявление към него."
msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
msgstr ""
msgid "This external request has been hidden"
-msgstr ""
+msgstr "Външното заявление беше скрито"
msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
-msgstr ""
+msgstr "Това е текстова версия на Заявлението за Достъп до информация \"{{request_title}}\". Последната, пълна версия, може да видите на {{full_url}}"
msgid "This is an HTML version of an attachment to the Freedom of Information request"
-msgstr ""
+msgstr "Това е HTML версия на прикачен файл към Заявление за Достъп до информация"
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
-msgstr ""
+msgstr "Причината е, че {{title}} е старо Заявление и е маркирано\\nкато неприемащо вече отговори."
msgid "This is the first version."
-msgstr ""
+msgstr "Това е първата версия."
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Това е Ваше собствено заявление, така че автоматично ще Ви уведомяваме с имейл при пристигане на нови отговори."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Това съобщение беше скрито."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Това съобщение беше скрито. Има различни причини, поради които скриваме съобщения. За съжаление не можем да бъдем по-конкретни."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Това съобщение е отбелязано като 'скрито'. Вие го виждате, понеже сте влезли като супер-потребител."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Това съобщение е отбелязано като 'скрито'. {{reason}} Вие го виждате, понеже сте влезли като супер-потребител."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Това съобщение е скрито, така че само Вие, заявителят, може да го види. Моля, <a href=\"{{url}}\">свържете се с нас</a> ако не сте сигурни за причината."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Това съобщение е скрито, така че само Вие, заявителят, може да го видите. {{reason}}"
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Тази страница със статистики за Публичен Орган към момента е експериментална, така че, някои предварителни уговорки трябва да се имат предвид:"
msgid "This particular request is finished:"
msgstr ""
msgid "This person has made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Този потребител не е отправял Заявления за Достъп до информация чрез този сайт."
msgid "This person's annotations"
-msgstr ""
+msgstr "Коментарите на този потребител"
msgid "This person's {{count}} Freedom of Information request"
msgid_plural "This person's {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} Заявление за Достъп до Информация на този потребител"
+msgstr[1] "{{count}} Заявления за Достъп до Информация на този потребител"
msgid "This person's {{count}} annotation"
msgid_plural "This person's {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} коментар на този потребител"
+msgstr[1] "{{count}} коментара на този потребител"
msgid "This request <strong>requires administrator attention</strong>"
-msgstr ""
+msgstr "Това заявление <strong>изисква вниманието на администратор</strong>"
msgid "This request has already been reported for administrator attention"
-msgstr ""
+msgstr "Това заявление вече беше докладвано на вниманието на администратор"
msgid "This request has an <strong>unknown status</strong>."
-msgstr ""
+msgstr "Това заявление е в <strong>неизвестно състояние</strong>."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
-msgstr ""
+msgstr "Това заявление беше <strong>скрито</strong> от сайта, понеже администратор е преценил, че не е заявление за ДдИ"
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
-msgstr ""
+msgstr "Това заявление беше <strong>скрито</strong> от сайта, понеже администратор е преценил, че е неоснователно"
msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
-msgstr ""
+msgstr "Това заявление беше <strong>докладвано</strong> на вниманието на администратор (вероятно защото е неоснователно или е заявление за лична информация)"
msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
-msgstr ""
+msgstr "Това Заявление беше <strong>оттеглено</strong> от потребителя, който го е създал.\\n Вероятно има обяснение в кореспонденцията по-долу."
msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Това заявление беше отбелязано за преглед от админите на сайта, които не са го скрили засега. Ако смятате, че трябва да се скрие, молим <a href=\"{{url}}\">свържете се с нас</a>."
msgid "This request has been reported for administrator attention"
-msgstr ""
+msgstr "Това заявление беше докладвано на вниманието на администратор"
msgid "This request has been set by an administrator to \"allow new responses from nobody\""
-msgstr ""
+msgstr "От администратор е зададено това заявление да \"не приема нови отговори от никого\""
msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
-msgstr ""
+msgstr "Отговорът на това заявление е необичаен и <strong>изисква вниманието</strong> на екипа на {{site_name}}."
msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
-msgstr ""
+msgstr "Това съобщение е отбелязано като 'скрито'. Вие го виждате, понеже сте влезли\\n като супер-потребител."
msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Това Заявление е скрито, така че само Вие, заявителят, може да го види. Молим\\n <a href=\"{{url}}\">свържете се с нас</a> ако не сте сигурни защо."
msgid "This request is still in progress:"
-msgstr ""
+msgstr "Това заявление все още се обработва:"
msgid "This request requires administrator attention"
-msgstr ""
+msgstr "Това Заявление изисква вниманието на администратор"
msgid "This request was not made via {{site_name}}"
-msgstr ""
+msgstr "Това заявление не е направено чрез {{site_name}}"
msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
msgstr "Тази таблица показва техническите подробности над вътрешните събития, случили се\\nпо това заявление в {{site_name}}. Това може да се използва за генериране на информация за\\nбързината, с която органите отговарят на заявления, броят на заявленията,\\nкоито изискват отговор по пощата и много други."
msgid "This user has been banned from {{site_name}} "
-msgstr ""
+msgstr "Този потребител беше блокиран от {{site_name}} "
msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
msgstr "Това не е възможно, понеже вече има регистрация, използваща\\nимейл адрес {{email}}."
@@ -2536,7 +2548,7 @@ msgid "To cancel this alert"
msgstr "За да спрете това известяване"
msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
-msgstr ""
+msgstr "За да продължите, трябва да влезете или да създадете регистрация. За съжаление,\\nимаме технически проблем и в момента не може да направите това."
msgid "To change your email address used on {{site_name}}"
msgstr "За да промените Вашия имейл адрес, използван в {{site_name}}"
@@ -2548,55 +2560,55 @@ msgid "To do that please send a private email to "
msgstr "За да направите това, моля изпратете личен имейл до "
msgid "To do this, first click on the link below."
-msgstr ""
+msgstr "За да направите това, първо цъкнете върху връзката по-долу."
msgid "To download the zip file"
-msgstr ""
+msgstr "За да свалите zip файла"
msgid "To follow all successful requests"
-msgstr ""
+msgstr "Да следвате всички успешни заявления"
msgid "To follow new requests"
-msgstr ""
+msgstr "За да следвате нови заявления"
msgid "To follow requests and responses matching your search"
-msgstr ""
+msgstr "За да следите заявления и отговори, съвпадащи с търсенето Ви"
msgid "To follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "За да следвате заявления от '{{user_name}}'"
msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
-msgstr ""
+msgstr "За да следвате заявления направени чрез {{site_name}} до публичния орган '{{public_body_name}}'"
msgid "To follow the request '{{request_title}}'"
-msgstr ""
+msgstr "За да следвате заявлението '{{request_title}}'"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr ""
+msgstr "За да ни помогне да поддържаме нещата подредени, някой е сменил състоянието на вашетп \\nЗаявление {{title}} за {{law_used_full}} до {{public_body}} на \"{{display_status}}\". Ако не сте съгласни с тази категоризация, молим, променете състоянието му отново така, както Вие смятате за правилно."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "За да научат всички, последвайте тази връзка и след това отбележете подходящото."
msgid "To log into the administrative interface"
-msgstr ""
+msgstr "За да влезете в административния панел"
msgid "To play the request categorisation game"
msgstr ""
msgid "To post your annotation"
-msgstr ""
+msgstr "За да публикувате коментара си"
msgid "To reply to "
-msgstr ""
+msgstr "За да отговорите на "
msgid "To report this request"
-msgstr ""
+msgstr "За да докладвате това заявление"
msgid "To send a follow up message to "
-msgstr ""
+msgstr "За да изпратите пояснително съобщение до "
msgid "To send a message to "
-msgstr ""
+msgstr "За да изпратите съобщение на "
msgid "To send your FOI request"
msgstr "За да изпратите Вашето заявление за ДдИ"
@@ -2608,28 +2620,28 @@ msgid "To upload a response, you must be logged in using an email address from "
msgstr "За да качите отговор, трябва да сте влезли, използвайки имейл адрес от "
msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
-msgstr ""
+msgstr "За да използвате разширено търсене, комбинирайте фрази и етикети, както е описано в съветите по-долу."
msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
msgstr "За да видите имейл адреса, използван от нас за изпращане на заявления за ДдИ до {{public_body_name}}, моля, въведете тези думи."
msgid "To view the response, click on the link below."
-msgstr ""
+msgstr "За да видите отговора, цъкнете върху връзката по-долу."
msgid "To {{public_body_link_absolute}}"
-msgstr ""
+msgstr "До {{public_body_link_absolute}}"
msgid "To:"
-msgstr ""
+msgstr "До:"
msgid "Today"
-msgstr ""
+msgstr "Днес"
msgid "Too many requests"
-msgstr ""
+msgstr "Твърде много заявления"
msgid "Top search results:"
-msgstr ""
+msgstr "Най-често търсени резултати:"
msgid "Track thing"
msgstr ""
@@ -2656,64 +2668,64 @@ msgid "Tweet this request"
msgstr ""
msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
-msgstr ""
+msgstr "Напишете <strong><code>01/01/2013..14/01/2013</code></strong>, за да видите само случилото се през първите две седмици на януари."
msgid "URL name can't be blank"
-msgstr ""
+msgstr "URL името не може да е празно"
msgid "Unable to change email address on {{site_name}}"
msgstr "Не беше възможно да се промени имейл адрес на {{site_name}}"
msgid "Unable to send a reply to {{username}}"
-msgstr ""
+msgstr "Не е възможно изпращане на отговор до {{username}}"
msgid "Unable to send follow up message to {{username}}"
-msgstr ""
+msgstr "Не бе възможно да се изпрати пояснително съобщение до {{username}}"
msgid "Unexpected search result type"
-msgstr ""
+msgstr "Неочакван тип резултат на търсене"
msgid "Unexpected search result type "
-msgstr ""
+msgstr "Неочакван тип резултат на търсене "
msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
msgstr "За съжаление, не знаем имейл адреса\\nза ДдИ на този орган, така че, не можем да потвърдим това.\\nМолим <a href=\"{{url}}\">свържете се с нас</a> за да го оправим."
msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
-msgstr ""
+msgstr "За съжаление, ние не разполагаме с работещ {{info_request_law_used_full}}\\nадрес за"
msgid "Unknown"
-msgstr ""
+msgstr "Неизвестен"
msgid "Unsubscribe"
-msgstr ""
+msgstr "Отписване"
msgid "Unusual response."
-msgstr ""
+msgstr "Необичаен отговор."
msgid "Update the status of this request"
-msgstr ""
+msgstr "Обновяване състоянието на това заявление"
msgid "Update the status of your request to "
-msgstr ""
+msgstr "Обновяване състоянието на Ваше заявление към"
msgid "Upload FOI response"
-msgstr ""
+msgstr "Качване на отговор за ДдИ"
msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
-msgstr ""
+msgstr "Ползвайте OR (главни букви), когато няма значение коя от двете думи, напр. <strong><code>конкурс OR поръчка</code></strong>"
msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
-msgstr ""
+msgstr "Ползвайте кавички, когато искате да намерите точна фраза, напр. <strong><code>\"Народно Събрание\"</code></strong>"
msgid "User"
-msgstr ""
+msgstr "Потребител"
msgid "User info request sent alert"
msgstr ""
msgid "User – {{name}}"
-msgstr ""
+msgstr "Потребител – {{name}}"
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2721,18 +2733,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -2770,7 +2776,7 @@ msgid "User|Url name"
msgstr ""
msgid "Version {{version}}"
-msgstr ""
+msgstr "Версия {{version}}"
msgid "View FOI email address"
msgstr "Виж ДдИ имейл адрес"
@@ -2782,22 +2788,22 @@ msgid "View FOI email address for {{public_body_name}}"
msgstr "Показване ДдИ имейл адрес за {{public_body_name}}"
msgid "View Freedom of Information requests made by {{user_name}}:"
-msgstr ""
+msgstr "Преглед на Заявленията за Достъп до информация, направени от {{user_name}}:"
msgid "View and search requests"
-msgstr ""
+msgstr "Преглед и търсене на заявления"
msgid "View authorities"
-msgstr ""
+msgstr "Преглед на органите"
msgid "View email"
msgstr "Преглед на имейл"
msgid "View requests"
-msgstr ""
+msgstr "Преглед на заявления"
msgid "Waiting clarification."
-msgstr ""
+msgstr "Очаква пояснение."
msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
msgstr "Очаква <strong>вътрешно разглеждане</strong> от {{public_body_link}} на тяхната работа по това заявление."
@@ -2806,25 +2812,25 @@ msgid "Waiting for the public authority to complete an internal review of their
msgstr "Чака публичния орган да завърши вътрешно разглеждане на тяхната обработка на заявлението"
msgid "Waiting for the public authority to reply"
-msgstr ""
+msgstr "Очаква отговор на публичния орган"
msgid "Was the response you got to your FOI request any good?"
-msgstr ""
+msgstr "Беше ли с нещо полезен отговорът на Вашето Заявление за ДдИ?"
msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Според нас, това не е валидно Заявление за ДдИ и затова го скрихме от останалите потребители."
msgid "We consider it to be vexatious, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Според нас, това е неоснователно и затова го скрихме от останалите потребители."
msgid "We do not have a working request email address for this authority."
msgstr "Ние нямаме работещ имейл адрес за заявления към този орган."
msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
-msgstr ""
+msgstr "Не разполагаме с работещ адрес за Заявления за {{law_used_full}} на {{public_body_name}}."
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
-msgstr ""
+msgstr "Ние не знаем дали най-скорошният отговор на това заявление съдържа\\n информация или не\\n &ndash;\\n\tако Вие сте {{user_link}}, моля, <a href=\"{{url}}\">влезте</a> и проверете, за да може всички да узнаят."
msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
msgstr "Ние няма да предоставим имейл адреса Ви на никого, освен ако Вие\\n или закон ни нареди. (<a href=\"{{url}}\">Още за това</a>). "
@@ -2836,10 +2842,10 @@ msgid "We will not reveal your email addresses to anybody unless you\\nor the la
msgstr "Ние няма да предоставим имейл адресите Ви на никого, освен ако Вие\\nили закон ни нареди това."
msgid "We're waiting for"
-msgstr ""
+msgstr "Ние чакаме"
msgid "We're waiting for someone to read"
-msgstr ""
+msgstr "Ние чакаме някой да прочете"
msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
msgstr "Изпратихме Ви имейл на новия адрес. Ще трябва да цъкнете върху връзката\\nв него, след което имейл адресът Ви ще бъде сменен."
@@ -2851,118 +2857,118 @@ msgid "We've sent you an email, click the link in it, then you can change your p
msgstr "Изпратихме Ви имейл. Цъкнете връзката в него, след което ще можете да смените паролата си."
msgid "What are you doing?"
-msgstr ""
+msgstr "Какво правите?"
msgid "What best describes the status of this request now?"
-msgstr ""
+msgstr "Кое най-добре описва текущото състоянието на това заявление?"
msgid "What information has been released?"
-msgstr ""
+msgstr "Каква информация бе предоставена?"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Каква информация беше поискана?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
-msgstr ""
+msgstr "Когато отидете там, молим, обновете състоянието, за да е ясно дали\\nотговорът съдържа някаква полезна информация."
msgid "When you receive the paper response, please help\\n others find out what it says:"
-msgstr ""
+msgstr "Когато получите отговора на хартия, молим, помогнете\\n на другите да намерят какво се казва в него:"
msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
-msgstr ""
+msgstr "След като сте готови, <strong>върнете се тук</strong>, <a href=\"{{url}}\">презаредете тази страница</a> и регистрирайте новото си Заявление."
msgid "Which of these is happening?"
-msgstr ""
+msgstr "Кое от тези се случва?"
msgid "Who can I request information from?"
-msgstr ""
+msgstr "От кого мога да поискам информация?"
msgid "Withdrawn by the requester."
-msgstr ""
+msgstr "Оттеглено от заявителя."
msgid "Wk"
msgstr ""
msgid "Would you like to see a website like this in your country?"
-msgstr ""
+msgstr "Искате ли да видите сайт като този за Вашата страна?"
msgid "Write a reply"
-msgstr ""
+msgstr "Напишете отговор"
msgid "Write a reply to "
-msgstr ""
+msgstr "Напишете отговор до "
msgid "Write your FOI follow up message to "
-msgstr ""
+msgstr "Напишете Вашето пояснително съобщение до "
msgid "Write your request in <strong>simple, precise language</strong>."
-msgstr ""
+msgstr "Напишете заявлението си <strong>ясно и конкретно</strong>."
msgid "You"
-msgstr ""
+msgstr "Вие"
msgid "You are already following new requests"
-msgstr ""
+msgstr "Вие вече следвате новите заявления"
msgid "You are already following requests to {{public_body_name}}"
-msgstr ""
+msgstr "Вие вече следвате заявленията до {{public_body_name}}"
msgid "You are already following things matching this search"
-msgstr ""
+msgstr "Вие вече следите нещата, съвпадащи с това търсене"
msgid "You are already following this person"
-msgstr ""
+msgstr "Вие вече следите този потребител"
msgid "You are already following this request"
-msgstr ""
+msgstr "Вие вече следвате това Заявление"
msgid "You are already following updates about {{track_description}}"
-msgstr ""
+msgstr "Вие вече следите новостите относно {{track_description}}"
msgid "You are currently receiving notification of new activity on your wall by email."
msgstr "Към момента Вие получавате известия с имейл при нова активност на стената Ви."
msgid "You are following all new successful responses"
-msgstr ""
+msgstr "Вие следите всички нови успешни отговори"
msgid "You are no longer following {{track_description}}."
-msgstr ""
+msgstr "Вие вече не следите {{track_description}}."
msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
-msgstr ""
+msgstr "Сега вече <a href=\"{{wall_url_user}}\">следите</a> новостите относно {{track_description}}"
msgid "You can <strong>complain</strong> by"
-msgstr ""
+msgstr "Можете да се <strong>оплачете</strong> като"
msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
-msgstr ""
+msgstr "Можете да променяте следваните от Вас заявления и потребители в <a href=\"{{profile_url}}\">страницата на профила Ви</a>."
msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
-msgstr ""
+msgstr "Вие може да получите тази страница в компютърно-четим формат като част от главната JSON\\nстраница за Заявлението. Вижте <a href=\"{{api_path}}\">API документацията</a>."
msgid "You can only request information about the environment from this authority."
-msgstr ""
+msgstr "От този орган, Вие можете да искате информация само за околната среда."
msgid "You have a new response to the {{law_used_full}} request "
-msgstr ""
+msgstr "Имате нов отговор на Заявлението за {{law_used_full}} "
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
-msgstr ""
+msgstr "Открили сте бъг. Моля, <a href=\"{{contact_url}}\">свържете се с нас</a> за да ни кажете за проблема"
msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
-msgstr ""
+msgstr "Вие достигнахте лимита за нови заявления. Потребителите обикновено са ограничени до {{max_requests_per_user_per_day}} заявления на всеки 24 часа. Ще можете да отправите друго заявление в {{can_make_another_request}}."
msgid "You have made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Вие не сте отправили Заявления за Достъп до информация чрез този сайт."
msgid "You have now changed the text about you on your profile."
-msgstr ""
+msgstr "Вие сменихте текста за Вас във Вашия профил."
msgid "You have now changed your email address used on {{site_name}}"
msgstr "Вие променихте имейл адреса си, използван в {{site_name}}"
msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
-msgstr ""
+msgstr "Вие току-що се опитахте да се регистрирате в {{site_name}}, но \\nвече имате акаунт. Вашите име и парола са такива,\\nкаквито сте избрали първоначално.\\n\\nМоля, цъкнете върху връзката по-долу."
msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
msgstr "Знаете кое е предизвикало грешката и можете да <strong>предложите решение</strong>, като работещ имейл адрес."
@@ -2971,37 +2977,37 @@ msgid "You may <strong>include attachments</strong>. If you would like to attach
msgstr "Можете <strong>да добавяте файлове</strong>. Ако искате да прикрепите\\nфайл, твърде голям за имейл, ползвайте формата по-долу."
msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "Вие може да откриете\\n такъв на техния сайт, или като им позвъните и ги попитате. Ако успеете\\n да откриете такъв, молим <a href=\"{{url}}\">изпратете го и на нас</a>."
msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
-msgstr ""
+msgstr "Бихте могли да откриете\\nтакъв на техния сайт, или като им позвъните и ги попитате. Ако успеете\\nда откриете такъв, молим <a href=\"{{help_url}}\">изпратете го и на нас</a>."
msgid "You need to be logged in to change the text about you on your profile."
-msgstr ""
+msgstr "Трябва да сте влезли за да смените текста за Вас в профила Ви."
msgid "You need to be logged in to change your profile photo."
-msgstr ""
+msgstr "Трябва да сте влезли за да смените снимката в профила Ви."
msgid "You need to be logged in to clear your profile photo."
-msgstr ""
+msgstr "Трябва да сте влезли за да премахнете снимката в профила Ви."
msgid "You need to be logged in to edit your profile."
-msgstr ""
+msgstr "Трябва да сте влезли за да можете да редактирате профила си."
msgid "You need to be logged in to report a request for administrator attention"
-msgstr ""
+msgstr "Трябва да сте влезли в сайта, за да докладвате заявление на вниманието на администратор"
msgid "You previously submitted that exact follow up message for this request."
-msgstr ""
+msgstr "Изпращали сте точно същото пояснително съобщение за това заявление и преди."
msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
msgstr "Би трябвало да сте получили имейл с копие на заявлението. Можете да отговорите\\n <strong>просто като отговорите</strong> на имейла. За Ваше удобство, ето го адреса:"
msgid "You want to <strong>give your postal address</strong> to the authority in private."
-msgstr ""
+msgstr "Вие искате да <strong>предоставите пощенския си адрес</strong> на органа без това да е публично."
msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
-msgstr ""
+msgstr "Вие няма да можете да отправяте нови заявления, последващи съобщения,\\nда добавяте коментари и изпращате съобщения до други потребители. Можете\\nда разглеждате други заявления и да получавате известявания по имейл."
msgid "You will no longer be emailed updates for those alerts"
msgstr "Вие вече няма да получавате новости по имейл за тези известия"
@@ -3010,122 +3016,122 @@ msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{
msgstr "Вече ще получавате имейли при новости за {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Предпочитате да не получавате имейли?</a>"
msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
-msgstr ""
+msgstr "Вие ще получите отговор на заявлението само ако изпратите\\nпояснително съобщение с разяснения."
msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
msgstr "Вие все още ще можете да го виждате, когато сте влезли в сайта. Молим, отговорете на този имейл, ако искате да това ваше решение да се обсъди по-подробно."
msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
-msgstr ""
+msgstr "Влязохте. <a href=\"#\" id=\"send-request\">Продължаване с изпращането на Заявлението Ви</a>"
msgid "You're long overdue a response to your FOI request - "
-msgstr ""
+msgstr "Отговорът на ДдИ Заявлението Ви твърде много закъсня - "
msgid "You're not following anything."
-msgstr ""
+msgstr "Вие не следите нищо."
msgid "You've now cleared your profile photo"
-msgstr ""
+msgstr "Профилната Ви снимка беше премахната"
msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
-msgstr ""
+msgstr "Вашето <strong>име ще се показва публично</strong>\\n (<a href=\"{{why_url}}\">защо?</a>)\\n на този уеб сайт и в машините за търсене. Ако Вие\\n възнамерявате да ползвате псевдоним, молим\\n <a href=\"{{help_url}}\">прочетете първо това</a>."
msgid "Your annotations"
-msgstr ""
+msgstr "Вашите коментари"
msgid "Your details, including your email address, have not been given to anyone."
msgstr "Ваши данни, включително имейл адреса Ви, не са били дадени на никого."
msgid "Your e-mail:"
-msgstr ""
+msgstr "Вашият имейл:"
msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
-msgstr ""
+msgstr "Вашето пояснително съобщение не беше изпратено понеже това заявление беше спряно с цел предотвратяване на спам. Моля <a href=\"{{url}}\">свържете се с нас</a> ако действително искате да изпратите пояснително съобщение."
msgid "Your follow up message has been sent on its way."
-msgstr ""
+msgstr "Вашето пояснително съобщение беше изпратено."
msgid "Your internal review request has been sent on its way."
msgstr "Вашето заявление за вътрешно разглеждане беше изпратено."
msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
-msgstr ""
+msgstr "Вашето съобщение беше изпратено. Благодарим Ви, че ни пишете! Ще се постараем да Ви отговорим скоро."
msgid "Your message to {{recipient_user_name}} has been sent"
-msgstr ""
+msgstr "Съобщението Ви до {{recipient_user_name}} беше изпратено"
msgid "Your message to {{recipient_user_name}} has been sent!"
-msgstr ""
+msgstr "Съобщението Ви до {{recipient_user_name}} беше изпратено!"
msgid "Your message will appear in <strong>search engines</strong>"
-msgstr ""
+msgstr "Вашето съобщение ще се появи в <strong>Интернет търсачките</strong>"
msgid "Your name and annotation will appear in <strong>search engines</strong>."
-msgstr ""
+msgstr "Вашето име и коментар ще се появят в <strong>Интернет търсачките</strong>."
msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
-msgstr ""
+msgstr "Вашето име, Заявление и каквито и да са отговори ще се появяват в <strong>машините за търсене</strong>\\n (<a href=\"{{url}}\">подробности</a>)."
msgid "Your name:"
-msgstr ""
+msgstr "Вашето име:"
msgid "Your original message is attached."
-msgstr ""
+msgstr "Оригиналното Ви съобщение е прикрепено."
msgid "Your password has been changed."
-msgstr ""
+msgstr "Паролата Ви беше сменена."
msgid "Your password:"
-msgstr ""
+msgstr "Вашата парола:"
msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "Снимката Ви ще бъде показвана публично <strong>в Интернет</strong>,\\n всеки път, когато правите нещо в {{site_name}}."
msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
-msgstr ""
+msgstr "Вашето заявление '{{request}}' на {{url}} беше прегледано от модераторите."
msgid "Your request on {{site_name}} hidden"
-msgstr ""
+msgstr "Вашето заявление на {{site_name}} е скрито"
msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
-msgstr ""
+msgstr "Вашето Заявление беше наречено {{info_request}}. Като уведомите всички, че сте получили исканата информация, ще ни помогнете да следим "
msgid "Your request:"
-msgstr ""
+msgstr "Вашето заявление:"
msgid "Your response to an FOI request was not delivered"
-msgstr ""
+msgstr "Вашият отговор на заявлението за ДдИ не беше доставен"
msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
-msgstr ""
+msgstr "Вашият отговор <strong>ще се появи в Интернет</strong>, <a href=\"{{url}}\">вижте защо</a> и ще отговори на други въпроси."
msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
-msgstr ""
+msgstr "Вашите мисли за това, какво {{site_name}} <strong>администраторите</strong> би трябвало да направят за Заявлението."
msgid "Your {{count}} Freedom of Information request"
msgid_plural "Your {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} Ваше Заявление за Достъп до Информация"
+msgstr[1] "{{count}} Ваши Заявления за Достъп до Информация"
msgid "Your {{count}} annotation"
msgid_plural "Your {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} Ваш коментар"
+msgstr[1] "{{count}} Ваши коментара"
msgid "Your {{site_name}} email alert"
-msgstr ""
+msgstr "Вашето {{site_name}} имейл известие"
msgid "Yours faithfully,"
-msgstr ""
+msgstr "С уважение,"
msgid "Yours sincerely,"
-msgstr ""
+msgstr "Искрено Ваш,"
msgid "Yours,"
-msgstr ""
+msgstr "Ваш,"
msgid "[FOI #{{request}} email]"
-msgstr ""
+msgstr "[ДдИ #{{request}} имейл]"
msgid "[{{public_body}} request email]"
msgstr ""
@@ -3134,121 +3140,121 @@ msgid "[{{site_name}} contact email]"
msgstr ""
msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
-msgstr ""
+msgstr "\\n\\n[ {{site_name}} съобщение: Горният текст е в непозволен формат. Някои странни символи бяха премахнати. ]"
msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
-msgstr ""
+msgstr "обобщение на един ред на информацията, която искате, \\n\t\t\t\tнапр."
msgid "admin"
-msgstr ""
+msgstr "admin"
msgid "alaveteli_foi:The software that runs {{site_name}}"
msgstr ""
msgid "all requests"
-msgstr ""
+msgstr "всички заявления"
msgid "also called {{public_body_short_name}}"
-msgstr ""
+msgstr "наричан също {{public_body_short_name}}"
msgid "an anonymous user"
-msgstr ""
+msgstr "анонимен потребител"
msgid "and"
-msgstr ""
+msgstr "и"
msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
-msgstr ""
+msgstr "и обнови съответно състоянието. Може би <strong>Вие</strong> ще помогнете като го направите?"
msgid "and update the status."
-msgstr ""
+msgstr "и обнови състоянието."
msgid "and we'll suggest <strong>what to do next</strong>"
-msgstr ""
+msgstr "и ние ще предложим <strong>каква да е следващата стъпка</strong>"
msgid "any <a href=\"/list\">new requests</a>"
-msgstr ""
+msgstr "всякакви <a href=\"/list\">нови заявления</a>"
msgid "any <a href=\"/list/successful\">successful requests</a>"
-msgstr ""
+msgstr "всякакви <a href=\"/list/successful\">успешни заявления</a>"
msgid "anything"
-msgstr ""
+msgstr "каквото и да е"
msgid "are long overdue."
-msgstr ""
+msgstr "са много закъснели."
msgid "at"
-msgstr ""
+msgstr "на"
msgid "authorities"
-msgstr ""
+msgstr "органи"
msgid "awaiting a response"
-msgstr ""
+msgstr "в очакване на отговор"
msgid "beginning with ‘{{first_letter}}’"
-msgstr ""
+msgstr "започващи с ‘{{first_letter}}’"
msgid "between two dates"
-msgstr ""
+msgstr "между две дати"
msgid "but followupable"
msgstr ""
msgid "by"
-msgstr ""
+msgstr "от"
msgid "by <strong>{{date}}</strong>"
-msgstr ""
+msgstr "от <strong>{{date}}</strong>"
msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "от {{public_body_name}} до {{info_request_user}} на {{date}}."
msgid "by {{user_link_absolute}}"
-msgstr ""
+msgstr "от {{user_link_absolute}}"
msgid "comments"
-msgstr ""
+msgstr "коментари"
msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
-msgstr ""
+msgstr "съдържащ Вашия пощенски адрес с искане те да отговорят на това Заявление.\\n Или може да им позвъните."
msgid "details"
-msgstr ""
+msgstr "подробности"
msgid "display_status only works for incoming and outgoing messages right now"
-msgstr ""
+msgstr "display_status засега работи само за входящи и изходящи съобщения"
msgid "during term time"
-msgstr ""
+msgstr "през периода време"
msgid "edit text about you"
-msgstr ""
+msgstr "редактиране на текста за Вас"
msgid "even during holidays"
-msgstr ""
+msgstr "дори и през празниците"
msgid "everything"
-msgstr ""
+msgstr "всичко"
msgid "external"
-msgstr ""
+msgstr "външен"
msgid "has reported an"
-msgstr ""
+msgstr "беше докладван"
msgid "have delayed."
-msgstr ""
+msgstr "се забавиха."
msgid "hide quoted sections"
-msgstr ""
+msgstr "скрий секциите в кавички"
msgid "in term time"
-msgstr ""
+msgstr "в периода време"
msgid "in the category ‘{{category_name}}’"
-msgstr ""
+msgstr "в категорията ‘{{category_name}}’"
msgid "internal error"
msgstr "вътрешна грешка"
@@ -3257,85 +3263,85 @@ msgid "internal reviews"
msgstr "вътрешни разглеждания"
msgid "is <strong>waiting for your clarification</strong>."
-msgstr ""
+msgstr "<strong>очаква Вашето пояснение</strong>."
msgid "just to see how it works"
-msgstr ""
+msgstr "само за да видя как работи"
msgid "left an annotation"
-msgstr ""
+msgstr "остави коментар"
msgid "made."
-msgstr ""
+msgstr "създаден."
msgid "matching the tag ‘{{tag_name}}’"
-msgstr ""
+msgstr "съвпадащ с маркера ‘{{tag_name}}’"
msgid "messages from authorities"
-msgstr ""
+msgstr "съобщения от органи"
msgid "messages from users"
-msgstr ""
+msgstr "съобщения от потребители"
msgid "move..."
-msgstr ""
+msgstr "преместване..."
msgid "no later than"
-msgstr ""
+msgstr "не по-късно от"
msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr "не съществува вече. Ако се опитвате да го направите\\n от страницата на заявлението, опитайте да отговорите на конкретно съобщение, вместо да се обръщате\\n към органа за нова информация по заявлението. Ако искате да проверите какво става със заявлението, и знаете\\n подходящия за това имейл, молим <a href=\"{{url}}\">изпратете ни го</a>."
+msgstr "не съществува вече. Ако се опитвате да го направите\\n от страницата на заявлението, опитайте да отговорите на конкретно\\nсъобщение, вместо да изпращате общо последващо съобщение.\\nАко искате да изпратите общо последващо съобщение и знаете\\n подходящия за това имейл, молим <a href=\"{{url}}\">изпратете ни го</a>."
msgid "normally"
-msgstr ""
+msgstr "нормално"
msgid "not requestable due to: {{reason}}"
msgstr ""
msgid "please sign in as "
-msgstr ""
+msgstr "моля, влезте като "
msgid "requesting an internal review"
msgstr "искане на вътрешно разглеждане"
msgid "requests"
-msgstr ""
+msgstr "заявления"
msgid "requests which are {{list_of_statuses}}"
-msgstr ""
+msgstr "заявления, които са {{list_of_statuses}}"
msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
-msgstr ""
+msgstr "отговор като нуждаещ се от вниманието на администратор. Прегледайте го и отговорете\\nна този имейл за да ги уведомите какво смятате да направите."
msgid "send a follow up message"
-msgstr ""
+msgstr "изпратите пояснително съобщение"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "изпратено до {{public_body_name}} от {{info_request_user}} на {{date}}."
msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
msgstr "оставете го <strong>празно</strong> (без символи) ако не можете да намерите адрес. Тези имейл адреси <strong>са публични</strong> и всеки може да ги види след CAPTCHA"
msgid "show quoted sections"
-msgstr ""
+msgstr "покажи секциите в кавички"
msgid "sign in"
-msgstr ""
+msgstr "влезте"
msgid "simple_date_format"
msgstr ""
msgid "successful"
-msgstr ""
+msgstr "успешно"
msgid "successful requests"
-msgstr ""
+msgstr "успешни заявления"
msgid "that you made to"
-msgstr ""
+msgstr "което направихте до"
msgid "the main FOI contact address for {{public_body}}"
-msgstr ""
+msgstr "основният адрес за контакти за ДдИ на {{public_body}}"
#. This phrase completes the following sentences:
#. Request an internal review from...
@@ -3343,168 +3349,165 @@ msgstr ""
#. Send a public reply to...
#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
-msgstr ""
+msgstr "основния адрес за ДдИ на {{public_body}}"
msgid "the requester"
-msgstr ""
+msgstr "заявителят"
msgid "the {{site_name}} team"
-msgstr ""
+msgstr "екипът на {{site_name}}"
msgid "to read"
-msgstr ""
+msgstr "за четене"
msgid "to send a follow up message."
-msgstr ""
+msgstr "да изпратите пояснително съобщение."
msgid "to {{public_body}}"
-msgstr ""
+msgstr "дo {{public_body}}"
msgid "unknown reason "
-msgstr ""
+msgstr "непозната причина "
msgid "unknown status "
-msgstr ""
+msgstr "непознато състояние "
msgid "unresolved requests"
-msgstr ""
+msgstr "неудовлетворени заявления"
msgid "unsubscribe"
-msgstr ""
+msgstr "отпиши"
msgid "unsubscribe all"
-msgstr ""
+msgstr "отпиши всички"
msgid "unsuccessful"
-msgstr ""
+msgstr "неуспешно"
msgid "unsuccessful requests"
-msgstr ""
+msgstr "неуспешни заявления"
msgid "useful information."
-msgstr ""
+msgstr "полезна информация."
msgid "users"
-msgstr ""
+msgstr "потребители"
msgid "what's that?"
-msgstr ""
+msgstr "какво е това?"
msgid "{{count}} FOI requests found"
-msgstr ""
+msgstr "{{count}} намерени заявления за ДдИ"
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} Заявление за Достъп до Информация до {{public_body_name}}"
+msgstr[1] "{{count}} Заявления за Достъп до Информация до {{public_body_name}}"
msgid "{{count}} person is following this authority"
msgid_plural "{{count}} people are following this authority"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} човек следва този орган"
+msgstr[1] "{{count}} души следват този орган"
msgid "{{count}} request"
msgid_plural "{{count}} requests"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} Заявление"
+msgstr[1] "{{count}} Заявления"
msgid "{{count}} request made."
msgid_plural "{{count}} requests made."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} направено заявление."
+msgstr[1] "{{count}} направени заявления."
msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
-msgstr ""
+msgstr "{{existing_request_user}} вече\\n отправи същото заявление на {{date}}. Вие можете да разгледате <a href=\"{{existing_request}}\">съществуващото Заявление</a>,\\n или да редактирате детайли по-долу за да направите ново подобно Заявление."
msgid "{{info_request_user_name}} only:"
-msgstr ""
+msgstr "{{info_request_user_name}} само:"
msgid "{{law_used_full}} request - {{title}}"
-msgstr ""
-
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
+msgstr "{{law_used_full}} заявление - {{title}}"
msgid "{{law_used}} requests at {{public_body}}"
-msgstr ""
+msgstr "{{law_used}} заявления до {{public_body}}"
msgid "{{length_of_time}} ago"
-msgstr ""
+msgstr "преди {{length_of_time}}"
msgid "{{list_of_things}} matching text '{{search_query}}'"
-msgstr ""
+msgstr "{{list_of_things}} съвпада с търсеното '{{search_query}}'"
msgid "{{number_of_comments}} comments"
-msgstr ""
+msgstr "{{number_of_comments}} коментара"
msgid "{{public_body_link}} answered a request about"
-msgstr ""
+msgstr "{{public_body_link}} отговори на Заявление относно"
msgid "{{public_body_link}} was sent a request about"
-msgstr ""
+msgstr "{{public_body_link}} му бе изпратено Заявление относно"
msgid "{{public_body_name}} only:"
-msgstr ""
+msgstr "само {{public_body_name}}:"
msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
-msgstr ""
+msgstr "{{public_body}} поиска да поясните част от Вашето {{law_used}} Заявление."
msgid "{{public_body}} sent a response to {{user_name}}"
-msgstr ""
+msgstr "{{public_body}} изпрати отговор до {{user_name}}"
msgid "{{reason}}, please sign in or make a new account."
-msgstr ""
+msgstr "{{reason}}, моля влезте или създайте нова регистрация."
msgid "{{search_results}} matching '{{query}}'"
-msgstr ""
+msgstr "{{search_results}} съвпада с '{{query}}'"
msgid "{{site_name}} blog and tweets"
-msgstr ""
+msgstr "{{site_name}} блог и туитове"
msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
-msgstr ""
+msgstr "{{site_name}} съдържа заявления до {{number_of_authorities}} органа, като:"
msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
msgstr "{{site_name}} изпраща новите заявления до <strong>{{request_email}}</strong> за този орган."
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
-msgstr ""
+msgstr "Потребителите на {{site_name}} са направили {{number_of_requests}} заявления, като:"
msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
-msgstr ""
+msgstr "{{thing_changed}} беше променен от <code>{{from_value}}</code> на <code>{{to_value}}</code>"
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
-msgstr ""
+msgstr "{{title}} - Заявление за Достъп до Обществена Информация до {{public_body}}"
msgid "{{user_name}} (Account suspended)"
msgstr ""
msgid "{{user_name}} - Freedom of Information requests"
-msgstr ""
+msgstr "{{user_name}} - Заявления за Достъп до Обществена Информация"
msgid "{{user_name}} - user profile"
-msgstr ""
+msgstr "{{user_name}} - потребителски профил"
msgid "{{user_name}} added an annotation"
-msgstr ""
+msgstr "{{user_name}} добави коментар"
msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
-msgstr ""
+msgstr "{{user_name}} коментира Вашето Заявление за {{law_used_short}} \\n. Последвайте тази връзка за да видите какво е написал."
msgid "{{user_name}} has used {{site_name}} to send you the message below."
-msgstr ""
+msgstr "{{user_name}} използва {{site_name}} за да Ви изпрати писмото по-долу."
msgid "{{user_name}} sent a follow up message to {{public_body}}"
-msgstr ""
+msgstr "{{user_name}} изпрати пояснително съобщение до {{public_body}}"
msgid "{{user_name}} sent a request to {{public_body}}"
-msgstr ""
+msgstr "{{user_name}} изпрати заявление до {{public_body}}"
msgid "{{username}} left an annotation:"
-msgstr ""
+msgstr "{{username}} остави коментар:"
msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
-msgstr ""
+msgstr "{{user}} ({{user_admin_link}}) отправи това заявление за {{law_used_full}} (<a href=\"{{request_admin_url}}\">admin</a>) до {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
msgid "{{user}} made this {{law_used_full}} request"
-msgstr ""
+msgstr "{{user}} отправи това {{law_used_full}} заявление"
diff --git a/locale/bs/app.po b/locale/bs/app.po
index 2782b2c79..014331a5f 100644
--- a/locale/bs/app.po
+++ b/locale/bs/app.po
@@ -12,10 +12,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Bosnian (http://www.transifex.com/projects/p/alaveteli/language/bs/)\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
@@ -864,15 +864,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Prati ovaj zahtjev"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Prateća poruka poslana od strane podnosioca zahtjeva"
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1899,6 +1908,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "Javno tijelo|Zadnji uređeni komentar"
@@ -2876,18 +2888,12 @@ msgstr ""
msgid "User|About me"
msgstr "Korisnik|O meni"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "Korisnik|Administratorski nivo"
msgid "User|Ban text"
msgstr "Korisnik|tekst isključenja"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "Korisnik|E-mail"
@@ -3616,9 +3622,6 @@ msgstr "{{info_request_user_name}} samo:"
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/ca/app.po b/locale/ca/app.po
index c3dd04463..2b37d5b21 100644
--- a/locale/ca/app.po
+++ b/locale/ca/app.po
@@ -11,10 +11,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/alaveteli/language/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
@@ -878,15 +878,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Seguir esta solicitud"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Seguimiento"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Respuesta enviada por el creador de la solicitud"
msgid "Follow up messages to existing requests are sent to "
msgstr "Las respuestas a solicitudes existentes se envían a "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Se han bloqueado nuevas respuestas a esta solicitud para prevenir spam. Por favor <a href=\"{{url}}\">contáctanos</a> si tú eres {{user_link}} y necesitas responder."
@@ -1918,6 +1927,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2905,18 +2917,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "User|Email"
@@ -3662,9 +3668,6 @@ msgstr "Sólo {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "solicitud {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "solicitud {{law_used_full}} - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/cs/app.po b/locale/cs/app.po
index 0a6ea3e99..74d4e4544 100644
--- a/locale/cs/app.po
+++ b/locale/cs/app.po
@@ -18,10 +18,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/alaveteli/language/cs/)\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
@@ -881,15 +881,24 @@ msgstr "Sledovat tohoto uživatele"
msgid "Follow this request"
msgstr "Sledovat tyto dotazy"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Odpověď"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Odpověď zaslána uživatelem"
msgid "Follow up messages to existing requests are sent to "
msgstr "Zasílat aktualizace zpráv u tohoto dotazu na"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Přidávání odpovědí a komentářů u tohoto dotazu bylo ukončeno kvůli spamu. Prosíme <a href=\"{{url}}\">kontaktujte nás</a> pokud jste {{user_link}} a chcete přidat komentář."
@@ -1899,6 +1908,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody | Naposled aktualizovaný komentář"
@@ -2876,18 +2888,12 @@ msgstr "UserInfoRequestSentAlert| Typ upozornění"
msgid "User|About me"
msgstr "User | O mně"
-msgid "User|Address"
-msgstr "User | Adresa"
-
msgid "User|Admin level"
msgstr "User | Úroveň admin"
msgid "User|Ban text"
msgstr "User | Zakázat text"
-msgid "User|Dob"
-msgstr "User | Datum narození"
-
msgid "User|Email"
msgstr "User | E-mail"
@@ -3630,9 +3636,6 @@ msgstr "Pouze {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "Žádost o informace podle {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} žádejte GQ - {{title}} ??"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} dotazy vznesené na instituci {{public_body}}"
diff --git a/locale/cy/app.po b/locale/cy/app.po
index 3b2267d93..7ff2f3d48 100644
--- a/locale/cy/app.po
+++ b/locale/cy/app.po
@@ -7,15 +7,21 @@
# baragouiner <graham.craig@gmail.com>, 2013
# baragouiner <graham.craig@gmail.com>, 2013
# baragouiner <graham.craig@gmail.com>, 2013
+# huwwaters <huwwaters@gmail.com>, 2013
+# huwwaters <huwwaters@gmail.com>, 2013
+# Hywel <hywelm.jones@talk21.com>, 2013
+# Hywel <hywelm.jones@talk21.com>, 2013
+# louisecrow <louise@mysociety.org>, 2013
+# louisecrow <louise@mysociety.org>, 2013
# PerryX <wyeboy@gmail.com>, 2013
# PerryX <wyeboy@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-05 23:40+0000\n"
+"Last-Translator: Hywel <hywelm.jones@talk21.com>\n"
"Language-Team: Welsh (http://www.transifex.com/projects/p/alaveteli/language/cy/)\n"
"Language: cy\n"
"MIME-Version: 1.0\n"
@@ -24,13 +30,13 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
-msgstr ""
+msgstr " Bydd hyn yn ymddangos ar eich proffil {{site_name}}, i'w wneud yn haws i bobl eraill i gymryd rhan yn yr hyn yr ydych yn ei wneud."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
-msgstr ""
+msgstr " (<strong>Dim</strong> gwleidyddiaeth ymfflamychol, darllenwch ein <a href=\"{{url}}\">polisi safoni</a>)"
msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
-msgstr ""
+msgstr " (<strong>Amynedd</strong>, yn enwedig ar gyfer ffeiliau mawr: gall gymryd peth amser!)"
msgid " (you)"
msgstr "(chi)"
@@ -39,40 +45,40 @@ msgid " - view and make Freedom of Information requests"
msgstr "gweld a gwneud ceisiadau Rhyddid Gwybodaeth"
msgid " - wall"
-msgstr ""
+msgstr " - Wal"
msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
-msgstr " <strong>Sylwer:</strong>\\n Byddwn yn anfon e-bost atoch. Dilynwch y cyfarwyddiadau ynddo i newid eich cyfrinair."
+msgstr " <strong>Sylwer:</strong> Byddwn yn anfon e-bost atoch. Dilynwch y cyfarwyddiadau ynddo i newid eich cyfrinair."
msgid " <strong>Privacy note:</strong> Your email address will be given to"
-msgstr ""
+msgstr " <strong>Nodyn Preifatrwydd:</strong> Bydd eich cyfeiriad e-bost yn cael ei roi i"
msgid " <strong>Summarise</strong> the content of any information returned. "
-msgstr ""
+msgstr " <strong>Crynhoi</strong> cynnwys unrhyw wybodaeth a gafwyd. "
msgid " Advise on how to <strong>best clarify</strong> the request."
-msgstr ""
+msgstr " Rhoi cyngor ar sut <strong>orau i egluro</strong> y cais."
msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
-msgstr ""
+msgstr " Syniadau ar ba <strong>ddogfennau eraill i ofyn amdanynt</strong> y gall yr awdurdod fod yn eu cadw. "
msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
-msgstr ""
+msgstr " Os ydych yn gwybod pa gyfeiriad i'w ddefnyddio, yna os gwelwch yn dda <a href=\"{{url}}\">anfonwch ef atom</a>. Efallai y byddwch yn gallu dod o hyd i'r cyfeiriad ar eu gwefan, neu drwy eu ffonio nhw a gofyn."
msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
-msgstr ""
+msgstr " Cynhwyswch gysylltiadau perthnasol, megis i dudalen yr ymgyrch, eich blog neu gyfrif Twitter. Byddant yn cael eu gwneud cliciadwy. ee"
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
-msgstr ""
+msgstr " Rhowch ddolen at yr wybodaeth y gofynnwyd amdani, <strong>os yw ar gael yn barod</strong> ar y Rhyngrwyd. "
msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
-msgstr ""
+msgstr " Cynigiwch ffyrdd gwell o <strong>eirio'r cais</strong> i gael y wybodaeth. "
msgid " Say how you've <strong>used the information</strong>, with links if possible."
msgstr "Dwedwch sut rydych chi wedi <strong>defnyddio'r wybodaeth</strong>, gyda dolenni os yn bosibl."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
-msgstr ""
+msgstr " Awgrymwch <strong>ble arall</strong> y gallai'r ceisydd ddod o hyd i'r wybodaeth. "
msgid " What are you investigating using Freedom of Information? "
msgstr "Beth ydych chi'n ei ymchwilio gan ddefnyddio Rhyddid Gwybodaeth?"
@@ -84,37 +90,37 @@ msgid " You will also be emailed updates about the request."
msgstr "Byddwch chi'n derbyn diweddariadau am y cais drwy ebost hefyd."
msgid " made by "
-msgstr "a wnaethpwyd gan"
+msgstr " a wnaed gan "
msgid " or "
-msgstr "neu"
+msgstr " neu "
msgid " when you send this message."
-msgstr "pan chi'n anfon y neges hon"
+msgstr " pan fyddwch chi'n anfon y neges hon"
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
-msgstr ""
+msgstr "\"Helo! Mae gennym <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">neges bwysig</a> i ymwelwyr y tu allan i {{country_name}}\""
msgid "'Crime statistics by ward level for Wales'"
-msgstr "'Ystadegau troseddu yn ôl lefel ward ar gyfer Cymru'"
+msgstr "'Ystadegau troseddu yn ôl lefel ardal etholiadol ar gyfer Cymru'"
msgid "'Pollution levels over time for the River Tyne'"
-msgstr ""
+msgstr "'Lefelau llygredd dros amser ar gyfer Afon Tyne'"
msgid "'{{link_to_authority}}', a public authority"
msgstr "'{{link_to_authority}}', awdurdod cyhoeddus"
msgid "'{{link_to_request}}', a request"
-msgstr ""
+msgstr "'{{link_to_request}}', cais"
msgid "'{{link_to_user}}', a person"
-msgstr ""
+msgstr "'{{link_to_user}}', person"
msgid "*unknown*"
-msgstr ""
+msgstr "* Anhysbys *"
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
-msgstr ""
+msgstr ",\\n\\n\\n\\nYr eiddoch,\\n\\n{{user_name}}"
msgid "- or -"
msgstr "- neu -"
@@ -126,103 +132,103 @@ msgid "2. Ask for Information"
msgstr "2. Gofyn am wybodaeth"
msgid "3. Now check your request"
-msgstr "3. Gwiriwch eich cais rwan"
+msgstr "3. Gwiriwch eich cais nawr"
msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
-msgstr ""
+msgstr "<a href=\"{{browse_url}}\">Porwch y cyfan</a> neu <a href=\"{{add_url}}\">ofyn i ni ychwanegu un</a>."
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Ychwanegwch anodiad</a> (i helpu'r sawl sy'n gwneud y cais neu eraill)"
msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Mewngofnodi</a> i newid cyfrinair, tanysgrifiadau a mwy ({{user_name}} yn unig)"
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
-msgstr "<p>Wedi gorffen! Diolch yn fawr am eich help.</p><p>Mae <a href=\"{{helpus_url}}\">mwy o bethau i'w wneud</a>er mwyn helpu {{site_name}}.</p>"
+msgstr "<p>Wedi gorffen! Diolch yn fawr am eich help.</p><p>Mae <a href=\"{{helpus_url}}\">rhagor o bethau i'w wneud</a> er mwyn helpu {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
-msgstr ""
+msgstr "<p>Diolch yn fawr! Dyma rai syniadau ar beth i'w wneud nesaf:</p><ul><li>I anfon eich cais i awdurdod arall, yn gyntaf copiwch destun eich cais isod, yna <a href=\"{{find_authority_url}}\">dewch o hyd i'r awdurdod arall</a>.</li><li>Os hoffech herio honiad yr awdurdod nad ydynt yn dal y wybodaeth, dyma <a href=\"{{complain_url}}\">sut i gwyno</a>.</li><li>Mae gennym <a href=\"{{other_means_url}}\">awgrymiadau</a> ar ddulliau eraill i ateb eich cwestiwn.</li></ul>"
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p>Diolch yn fawr! Gobeithio na fydd yn rhaid i chi aros lawer yn hwy.</p> <p>Yn ôl y gyfraith, dylech fod wedi cael ymateb yn ddi-oed, ac fel arfer cyn diwedd <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p>Diolch yn fawr! Gobeithio na fydd rhaid i chi aros yn rhy hir. Yn ôl y gyfraith, dylech gael ymateb yn brydlon, ac fel arfer cyn diwedd <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr ""
+msgstr "<p>Diolch yn fawr! Gobeithio na fydd yn rhaid i chi aros yn rhy hir.</p><p>Dylech gael ymateb o fewn {{late_number_of_days}} diwrnod, neu yn cael gwybod os bydd yn cymryd mwy o amser (<a href=\"{{review_url}}\">manylion</a>).</p>"
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
-msgstr ""
+msgstr "<p>Diolch yn fawr! Mae eich cais yn ddyledus ers tro, gan ei fod fwy na {{very_late_number_of_days}} diwrnod gwaith yn hwyr. Dylai'r rhan fwyaf o geisiadau gael eu hateb o fewn {{late_number_of_days}} diwrnod gwaith. Efallai yr hoffech chi gwyno am hyn, gweler isod.</p>"
msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
-msgstr ""
+msgstr "<p>Diolch am newid y testun amdanoch chi ar eich proffil.</p><strong>Nesaf ...</strong> Gallwch lwytho llun proffil hefyd.</p>"
msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
-msgstr ""
+msgstr "<p>Diolch ar gyfer diweddaru eich proffil llun.</p><strong>Nesaf ...</strong> Gallwch roi rhywfaint o destun amdanoch chi a'ch ymchwil ar eich proffil.</p>"
msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
-msgstr ""
+msgstr "<p>Rydym yn argymell eich bod yn golygu eich cais ac yn cael gwared ar y cyfeiriad e-bost. Os byddwch yn ei adael, bydd y cyfeiriad e-bost yn cael ei anfon at yr awdurdod, ond ni fydd yn cael ei arddangos ar y wefan.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
-msgstr ""
+msgstr "<p>Rydym yn falch i chi cael yr holl wybodaeth oedd arnoch ei heisiau. Os ydych yn ysgrifennu amdani neu'n gwneud defnydd o'r wybodaeth,dewch yn ôl ac ychwanegwch nodyn isod i ddweud beth wnaethoch.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
-msgstr ""
+msgstr "<p>Rydym yn falch i chi cael yr holl wybodaeth oedd arnoch ei heisiau. Os ydych yn ysgrifennu amdani neu'n gwneud defnydd o'r wybodaeth,dewch yn ôl ac ychwanegwch nodyn isod i ddweud beth wnaethoch.</p><p>Os cawsoch {{site_name}} yn ddefnyddiol, <a href=\"{{donation_url}}\">gwnewch gyfraniad</a> i'r elusen sy'n gyfrifol amdani.</p>"
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr ""
+msgstr "<p>Rydym yn falch i chi gael rhywfaint o'r wybodaeth oedd arnoch ei heisiau. Os cawsoch {{site_name}} yn ddefnyddiol, <a href=\"{{donation_url}}\">gwnewch gyfraniad</a> i'r elusen sy'n gyfrifol amdani.</p> <p>Os ydych am geisio cael gweddill y wybodaeth, dyma beth i'w wneud yn awr.</p>"
msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr ""
+msgstr "<p>Rydym yn falch i chi gael rhywfaint o'r wybodaeth oedd arnoch ei heisiau.</p> <p>Os ydych am geisio cael gweddill y wybodaeth, dyma beth i'w wneud yn awr.</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
-msgstr ""
+msgstr "<p>Nid oes angen i chi gynnwys eich e-bost yn y cais er mwyn cael ateb (<a href=\"{{url}}\">fanylion</a>).</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
-msgstr "<p>Does dim rhaid i chi roi'ich cyfeiriad yn y cais er mwyn cael ymateb, gan ofynnwn ni amdano ar y sgrîn nesaf (<aa href=\"{{url}}\">manylion</a>).</p>"
+msgstr "<p>Does dim rhaid i chi roi'ich cyfeiriad yn y cais er mwyn cael ymateb, gan y byddwn yn gofyn amdano ar y sgrîn nesaf (<a href=\"{{url}}\">manylion</a>).</p>"
msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
-msgstr "<p>Mae'ch cais yn cynnwys <strong>cod post</strong>. Oni bai ei fod o'n ymwneud yn uniongyrchol â'r cais, dilewch unrhyw cyfeiriadau os gwelwch yn dda, oherwydd y bydd o'n <strong>ymddangos yn cyhoeddus ar y Rhyngrwyd</strong>.</p>"
+msgstr "<p>Mae'ch cais yn cynnwys <strong>cod post</strong>. Oni bai ei fod o'n ymwneud yn uniongyrchol â'r cais, dilewch unrhyw gyfeiriad os gwelwch yn dda, oherwydd y bydd yn <strong>ymddangos yn gyhoeddus ar y Rhyngrwyd</strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr ""
+msgstr "<p>Mae eich cais {{law_used_full}} wedi cael ei <strong>anfon</strong>!</p> <strong><p>Byddwn yn eich e-bostio</strong> pan fydd ymateb , neu ar ôl {{late_number_of_days}} diwrnod gwaith os yw'r awdurdod yn dal heb ateb erbyn hynny.</p> <p>Os ydych yn ysgrifennu am y cais hwn (er enghraifft, mewn fforwm neu flog) rhowch ddolen at y dudalen hon, ac ychwanegwch anodiad isod i ddweud wrth bobl am eich ysgrifennu.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
-msgstr ""
+msgstr "<p>Mae {{site_name}} ar hyn o bryd yn cael ei chynnal a chadw. Gweld y ceisiadau presennol yn unig y gallwch. Ni allwch wneud rhai newydd, ychwanegu straenon dilynol neu anodiadau, neu newid y gronfa ddata mewn ffordd arall.</p> <p>{{read_only}}</p>"
msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
-msgstr ""
+msgstr "<small>Os ydych yn defnyddio e-bost ar y we neu hidlwyr \"post sothach\", edrychwch hefyd yn edrych ar eich ffolderi e-post swmp/spam. Weithiau, caiff ein negeseuon eu marcio felly.</small></p>"
msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
-msgstr "<strong> A gaf i wneud cais am wybodaeth amdanaf fi fy hun?</strong>\\n\t\t\t<a href=\"{{url}}\">Na chewch! (Cliciwch yma am fanylion)</a>"
+msgstr "<strong>A gaf i wneud cais am wybodaeth amdanaf fi fy hun?</strong> <a href=\"{{url}}\">Na chewch! (Cliciwch yma am fanylion)</a>"
msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
-msgstr ""
+msgstr "<strong><code>commented_by:tony_bowden</code></strong> i chwilio anodiadau a wnaed gan Tony Bowden, teipiwch yr enw fel yn yr URL."
msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
-msgstr ""
+msgstr "<strong><code>filetype:pdf</code></strong> i ddod o hyd i holl ymatebion gydag atodiadau PDF. Neu roi cynnig ar hyn: <code>{{list_of_file_extensions}}</code>"
msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
-msgstr ""
+msgstr "<strong><code>cais:</code></strong> i gyfyngu i gais penodol, teipiwch y teitl fel yn yr URL."
msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
-msgstr ""
+msgstr "<strong><code>requested_by: julian_todd</code></strong> i chwilio ceisiadau a wnaed gan Julian Todd, teipiwch yr enw fel yn yr URL."
msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
-msgstr ""
+msgstr "<strong><code>requested_from: home_office</code></strong> i chwilio ceisiadau gan y Swyddfa Gartref, teipiwch yr enw fel yn yr URL."
msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
-msgstr ""
+msgstr "<strong><code>status:</code></strong> i ddewis yn seiliedig ar statws neu statws hanesyddol y cais, gweler y tabl <a href=\"{{statuses_url}}\">tabl o statws</a> isod."
msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
-msgstr ""
+msgstr "<strong><code>tag:charity</code></strong> i ddod o hyd i bob awdurdod cyhoeddus neu geisiadau gyda tag penodol. Gallwch gynnwys tagiau lluosog, a gwerthoedd tag, ee <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Sylwer y gall bod unrhyw un o'r tagiau fod yn bresennol yn ddiofyn. Rhaid i chi rhoi <code>AND</code> yn benodol os ydych ond eisiau gweld canlyniadau â'r cyfan yn bresennol."
msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
-msgstr ""
+msgstr "<strong><code>variety:</code></strong> i ddewis y math o beth i chwilio amdano, gweler y tabl <a href=\"{{varieties_url}}\">tabl o fathau</a> isod."
msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
-msgstr ""
+msgstr "<strong>Cyngor</strong> ar sut i gael ymateb a fydd yn bodloni'r ceisydd.</li>"
msgid "<strong>All the information</strong> has been sent"
msgstr "Mae'r <strong>holl wybodaeth</strong> wedi cael ei hanfon."
@@ -231,184 +237,184 @@ msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
msgstr "<strong>Unrhywbeth arall</strong>, megis egluro, annog, diolch"
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
-msgstr ""
+msgstr "<strong>Caveat Emptor!</strong> Er mwyn defnyddio'r data hwn mewn ffordd anrhydeddus, bydd angen gwybodaeth fewnol dda o ymddygiad defnyddwyr ar {{site_name}}. Nid yw sut, pam a chan bwy y bydd ceisiadau yn cael eu categoreiddio yn syml, a bydd gwallau defnyddiwr ac amwysedd. Bydd angen i chi hefyd ddeall cyfraith Rhyddid Gwybodaeth, a sut y mae awdurdodau yn ei defnyddio. Yn ogystal bydd angen i chi fod yn ystadegydd prin. <a href=\"{{contact_path}}\">Cysylltwch â ni</a> gyda chwestiynau."
msgid "<strong>Clarification</strong> has been requested"
msgstr "Ceisiwyd <strong>eglurhad</strong>"
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
-msgstr ""
+msgstr "<strong>Does dim ymateb</strong> wedi cael ei dderbyn <small>(efallai nad oes dim ond cydnabyddiaeth)</small>"
msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
-msgstr ""
+msgstr "<strong>Nodyn:</strong> Oherwydd ein bod yn profi, mae ceisiadau yn cael eu hanfon at {{email}} yn hytrach nag at yr awdurdod ei hun."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr ""
+msgstr "<strong>Nodyn:</strong> Rydych yn anfon neges i chi eich hun, yn ôl pob tebyg i roi cynnig ar sut mae'n gweithio."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
-msgstr ""
+msgstr "<strong>Nodyn:</strong> Byddwn yn anfon e-bost at eich cyfeiriad e-bost newydd. Dilynwch y cyfarwyddiadau ynddo i gadarnhau newid eich e-bost."
msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
-msgstr ""
+msgstr "<strong>Nodyn Preifatrwydd:</strong> Os ydych am wneud cais am wybodaeth breifat amdanoch eich hun, yna <a href=\"{{url}}\">cliciwch yma</a>."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "<strong>Nodyn Preifatrwydd:</strong> Bydd eich llun yn cael ei ddangos yn gyhoeddus ar y Rhyngrwyd, lle bynnag y byddwch yn gwneud rhywbeth ar {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
-msgstr ""
+msgstr "<strong>Rhybudd preifatrwydd:</strong> Bydd eich neges, ac unrhyw ymateb iddo, yn cael ei harddangos yn gyhoeddus ar y wefan hon."
msgid "<strong>Some of the information</strong> has been sent "
-msgstr "Anfonwyd <strong>rhan o'r wybodaeth</strong>"
+msgstr "<strong>Anfonwyd rhan o'r wybodaeth</strong>"
msgid "<strong>Thank</strong> the public authority or "
-msgstr "<strong>Diolch</strong> yr awdurdod gyhoeddus"
+msgstr "<strong>Diolch</strong> i'r awdurdod cyhoeddus neu"
msgid "<strong>did not have</strong> the information requested."
-msgstr ""
+msgstr "Nid oedd gan y wybodaeth y gofynnwyd amdani."
msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "Mae <a href=\"{{request_url}}\">cais dilynol</a> i <em>{{request_title}}</em> wedi ei anfon i {{public_body_name}} gan {{info_request_user}} ar {{date}}."
msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
-msgstr ""
+msgstr "A <a href=\"{{request_url}}\">ymateb</a> i <em>{{request_title}}</em> ei anfon gan {{public_body_name}} i {{info_request_user}} ar {{date}}. Mae statws cais yw: {{request_status}}"
msgid "A <strong>summary</strong> of the response if you have received it by post. "
-msgstr ""
+msgstr "<strong>Crynodeb</strong> o'r ymateb os ydych wedi ei dderbyn drwy'r post. "
msgid "A Freedom of Information request"
-msgstr ""
+msgstr "Cais Rhyddid Gwybodaeth"
msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
-msgstr ""
+msgstr "Mae hanes llawn fy nghais Rhyddid Gwybodaeth a'r holl ohebiaeth ar gael ar y Rhyngrwyd yn y cyfeiriad hwn: {{url}}"
msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "Anfonwyd cais newydd, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, anfon i {{public_body_name}} gan {{info_request_user}} ar {{date}}."
msgid "A public authority"
msgstr "Awdurdod cyhoeddus"
msgid "A response will be sent <strong>by post</strong>"
-msgstr ""
+msgstr "Bydd ymateb yn cael ei anfon <strong>drwy'r post</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
-msgstr ""
+msgstr "Ymateb rhyfedd, yr oedd angen sylw arno gan dîm {{site_name}} "
msgid "A vexatious request"
-msgstr ""
+msgstr "Cais blinderus"
msgid "A {{site_name}} user"
-msgstr ""
+msgstr "Defnyddiwr {{site_name}}"
msgid "About you:"
-msgstr ""
+msgstr "Amdanoch chi:"
msgid "Act on what you've learnt"
-msgstr ""
+msgstr "Gweithredu ar yr hyn rydych wedi ei ddysgu"
msgid "Acts as xapian/acts as xapian job"
-msgstr ""
+msgstr "Yn gweithredu fel xapian / yn gweithredu fel swydd xapian"
msgid "ActsAsXapian::ActsAsXapianJob|Action"
-msgstr ""
+msgstr "ActsAsXapian :: ActsAsXapianJob | Gweithredu"
msgid "ActsAsXapian::ActsAsXapianJob|Model"
-msgstr ""
+msgstr "ActsAsXapian :: ActsAsXapianJob | Model"
msgid "Add an annotation"
-msgstr ""
+msgstr "Ychwanegu anodiad"
msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
-msgstr ""
+msgstr "Ychwanegu nodyn at eich cais gyda dyfyniadau dewis, neu <strong>crynodeb o'r ymateb</strong>."
msgid "Added on {{date}}"
-msgstr ""
+msgstr "Ychwanegwyd ar {{date}}"
msgid "Admin level is not included in list"
-msgstr ""
+msgstr "Nid yw lefel admin wedi ei gynnwys yn rhestr"
msgid "Administration URL:"
-msgstr ""
+msgstr "URL Gweinyddu :"
msgid "Advanced search"
-msgstr ""
+msgstr "Chwilio manwl"
msgid "Advanced search tips"
-msgstr ""
+msgstr "Cynghorion chwilio manwl"
msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
-msgstr ""
+msgstr "Cynghori ar p'un a yw'r <strong>gwrthodiad yn gyfreithiol</strong>, a sut i gwyno am y peth os nad ydyw."
msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
-msgstr ""
+msgstr "Aer, dŵr, pridd, tir, fflora a ffawna (gan gynnwys sut y mae'r rhain yn effeithio bodau dynol)"
msgid "All of the information requested has been received"
-msgstr "Derbynnir yr holl wybodaeth."
+msgstr "Mae'r holl wybodaeth y gwnaed cais amdani wedi ei derbyn."
msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
-msgstr ""
+msgstr "Gall yr holl opsiynau isod defnyddio <strong>status</strong> neu <strong>latest_status</strong> cyn y colon. Er enghraifft, bydd <strong>status:not_held</strong> yn matsio ceisiadau sydd wedi wedi'u marcio <em>erioed</em> nad ydynt yn cael eu cadw; bydd <strong>latest_status:not_held</strong> yn matsio ceisiadau yn unig sydd <em > ar hyn o bryd</em>wedi eu marcio fel heb ei gadw."
msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
-msgstr ""
+msgstr "Gall yr holl opsiynau isod defnyddio <strong>variety</strong> neu <strong>latest_variety</strong> cyn y colon. Er enghraifft, bydd <strong>variety:sent</strong> yn matsio ceisiadau sydd <em>erioed</em> wedi eu hanfon; bydd <strong>latest_variety:sent</strong> yn matsio ceisiadau yn unig sydd <em>ar hyn o bryd < /em> wedi eu marcio eu bod wedi eu hanfon."
msgid "Also called {{other_name}}."
-msgstr ""
+msgstr "Gelwir hefyd {{other_name}}."
msgid "Also send me alerts by email"
-msgstr ""
+msgstr "Hefyd anfonwch rybuddion ataf drwy e-bost"
msgid "Alter your subscription"
msgstr "Newid eich tanysgrifiad"
msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
-msgstr ""
+msgstr "Er bod yr holl ymatebion yn cael eu cyhoeddi yn awtomatig, rydym yn dibynnu arnoch chi, y sawl a wnaeth y cais gwreiddiol, i'w gwerthuso."
msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
-msgstr ""
+msgstr "Gwnaed <a href=\"{{request_url}}\">anodiad</a> i <em>{{request_title}}</em> gan {{event_comment_user}} ar {{date}}"
msgid "An <strong>error message</strong> has been received"
-msgstr ""
+msgstr "Derbyniwyd <strong>gwall-neges</strong>"
msgid "An Environmental Information Regulations request"
msgstr "Cais dan Reoliadau Gwybodaeth Amgylcheddol "
msgid "An anonymous user"
-msgstr ""
+msgstr "Defnyddiwr dienw"
msgid "Annotation added to request"
-msgstr ""
+msgstr "Ychwanegwyd anodiad i'r cais"
msgid "Annotations"
-msgstr ""
+msgstr "Anodiadau"
msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
-msgstr ""
+msgstr "Mae anodiadau fel y gall unrhywun, gan eich cynnwys chi, helpu i'r ceisydd â'u cais. Er enghraifft:"
msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
-msgstr ""
+msgstr "Bydd anodiadau yn cael eu postio yn gyhoeddus yma, ac <strong>nid ydynt</strong>yn cael eu hanfon i {{public_body_name}}."
msgid "Anonymous user"
-msgstr ""
+msgstr "Defnyddiwr dienw"
msgid "Anyone:"
msgstr "Unrhywun:"
msgid "Applies to"
-msgstr ""
+msgstr "Yn berthnasol i"
msgid "Are we missing a public authority?"
-msgstr ""
+msgstr "A oes awdurdod cyhoeddus ar goll gennym?"
msgid "Are you the owner of any commercial copyright on this page?"
-msgstr ""
+msgstr "Ai chi yw perchennog unrhyw hawlfraint masnachol ar y dudalen hon?"
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Gofynnwch am ddogfennau neu wybodaeth <strong>benodol</strong>. Nid yw'r wefan hon yn addas ar gyfer ymholiadau cyffredinol."
msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
-msgstr ""
+msgstr "Ar waelod y dudalen hon, ysgrifennwch ateb iddynt i geisio eu perswadio i'w sganio (<a href=\"{{url}}\">mwy o fanylion</a>)."
msgid "Attachment (optional):"
-msgstr ""
+msgstr "Atodiad (dewisol)"
msgid "Attachment:"
msgstr "Atodiad:"
@@ -426,10 +432,10 @@ msgid "Beginning with"
msgstr "Yn dechrau gyda"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
-msgstr ""
+msgstr "Porwch<a href='{{url}}'>geisiadau eraill</a> am enghreifftiau o sut i eirio'ch cais."
msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
-msgstr ""
+msgstr "Porwch <a href='{{url}}'>geisiadau eraill</a> i '{{public_body_name}}' am enghreifftiau o sut i eirio'ch cais."
msgid "Browse all authorities..."
msgstr "Mwy o awdurdodau..."
@@ -438,40 +444,40 @@ msgid "By law, under all circumstances, {{public_body_link}} should have respond
msgstr "Yn ôl y gyfraith, ym mhob amgylchiad, dylai {{public_body_link}} fod wedi ymateb erbyn hyn."
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
-msgstr ""
+msgstr "Yn ôl y gyfraith, dylai {{public_body_link}} fel arfer wedi ymateb <strong>yn brydlon</strong> a"
msgid "Calculated home page"
-msgstr ""
+msgstr "Hafan wedi ei chyfrifo"
msgid "Can't find the one you want?"
-msgstr ""
+msgstr "Methu dod o hyd i'r un sy eisiau arnoch?"
msgid "Cancel a {{site_name}} alert"
-msgstr ""
+msgstr "Canslo rhybudd {{site_name}}"
msgid "Cancel some {{site_name}} alerts"
-msgstr ""
+msgstr "Diddymu rhai rhybuddion {{site_name}} "
msgid "Cancel, return to your profile page"
-msgstr ""
+msgstr "Diddymu, dychwelwch i dudalen eich proffil"
msgid "Censor rule"
-msgstr ""
+msgstr "Rheol sensro "
msgid "CensorRule|Last edit comment"
-msgstr ""
+msgstr "CensorRule | Sylw ar y golygu diwethaf"
msgid "CensorRule|Last edit editor"
-msgstr ""
+msgstr "CensorRule | golygydd y golygu diwethaf"
msgid "CensorRule|Regexp"
-msgstr ""
+msgstr "CensorRule | regexp"
msgid "CensorRule|Replacement"
-msgstr ""
+msgstr "CensorRule | Newid"
msgid "CensorRule|Text"
-msgstr ""
+msgstr "CensorRule | Testun"
msgid "Change email on {{site_name}}"
msgstr "Newid cyfeiriad ebost ar {{site_name}}"
@@ -480,7 +486,7 @@ msgid "Change password on {{site_name}}"
msgstr "Newid cyfrinair ar {{site_name}}"
msgid "Change profile photo"
-msgstr "Newidiwch llun broffil"
+msgstr "Newidiwch lun broffil"
msgid "Change the text about you on your profile at {{site_name}}"
msgstr "Newidiwch y testun amdanoch chi ar eich proffil ar {{site_name}}"
@@ -504,163 +510,163 @@ msgid "Charity registration"
msgstr "Elusen gofrestredig"
msgid "Check for mistakes if you typed or copied the address."
-msgstr ""
+msgstr "Gwiriwch am gamgymeriadau os ydych wedi teipio neu wedi copïo y cyfeiriad."
msgid "Check you haven't included any <strong>personal information</strong>."
msgstr "Gwiriwch nad ydych chi wedi cynnyws unrhyw <strong>wybodaeth bersonol</strong>."
msgid "Choose your profile photo"
-msgstr "Dewisich eich llun broffil"
+msgstr "Dewiswch eich llun proffil"
msgid "Clarification"
msgstr "Eglurhad"
msgid "Clarify your FOI request - "
-msgstr ""
+msgstr "Eglurwch eich cais Rhyddid Gwybodaeth - "
msgid "Classify an FOI response from "
msgstr "Dosbarthwch ymateb Rh.G. oddiwrth"
msgid "Clear photo"
-msgstr ""
+msgstr "Gwaredwch y ffoto"
msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
-msgstr ""
+msgstr "Cliciwch ar y ddolen isod i anfon neges at {{public_body_name}} i ddweud wrthynt i ymateb i'ch cais. Efallai yr hoffech chi ofyn am adolygiad mewnol, gan ofyn iddynt i gael gwybod pam ymateb i'r cais wedi bod mor araf."
msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
-msgstr ""
+msgstr "Cliciwch ar y ddolen isod i anfon neges at {{public_body}} i'w atgoffa i ymateb i'ch cais."
msgid "Close"
-msgstr ""
+msgstr "Cau"
msgid "Comment"
-msgstr ""
+msgstr "Sylw"
msgid "Comment|Body"
-msgstr ""
+msgstr "Sylw|Corff"
msgid "Comment|Comment type"
-msgstr ""
+msgstr "Sylw|Math o sylw"
msgid "Comment|Locale"
-msgstr ""
+msgstr "Sylw|Locale"
msgid "Comment|Visible"
-msgstr ""
+msgstr "Sylw|Gweladwy"
msgid "Confirm you want to follow all successful FOI requests"
-msgstr ""
+msgstr "Cadarnhewch eich bod am ddilyn yr holl geisiadau Rhyddid Gwybodaeth llwyddiannus"
msgid "Confirm you want to follow new requests"
-msgstr ""
+msgstr "Cadarnhewch eich bod am ddilyn ceisiadau newydd"
msgid "Confirm you want to follow new requests or responses matching your search"
-msgstr ""
+msgstr "Cadarnhewch eich bod am ddilyn ceisiadau newydd neu ymatebion sy'n matsio eich chwiliad"
msgid "Confirm you want to follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Cadarnhewch eich bod am ddilyn ceisiadau gan '{{user_name}}'"
msgid "Confirm you want to follow requests to '{{public_body_name}}'"
-msgstr ""
+msgstr "Cadarnhewch eich bod am ddilyn ceisiadau i '{{public_body_name}}'"
msgid "Confirm you want to follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Cadarnhewch eich bod am ddilyn y cais '{{request_title}}'"
msgid "Confirm your FOI request to "
-msgstr "Cadarnhewch eich cais Rh.G. at"
+msgstr "Cadarnhewch eich cais Rh.G. i"
msgid "Confirm your account on {{site_name}}"
msgstr "Cadarnhewch eich cyfrif ar {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
-msgstr ""
+msgstr "Cadarnhau eich anodiad i {{info_request_title}} "
msgid "Confirm your email address"
-msgstr "Cadarnhewch eich cyfeiriad ebost"
+msgstr "Cadarnhewch eich cyfeiriad e-bost"
msgid "Confirm your new email address on {{site_name}}"
-msgstr "Cadarnhewch eich cyfeiriad ebost newydd ar {{site_name}}"
+msgstr "Cadarnhewch eich cyfeiriad e-bost newydd ar {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
-msgstr ""
+msgstr "Barnwyd gan weinyddwyr nad yw'n gais Rhyddid Gwybodaeth a cuddiwyd o'r wefan."
msgid "Considered by administrators as vexatious and hidden from site."
-msgstr ""
+msgstr "Barnwyd gan weinyddwyr ei fod yn flinderus a cuddiwyd o'r wefan."
msgid "Contact {{recipient}}"
-msgstr ""
+msgstr "Cysylltwch â {{recipient}}"
msgid "Contact {{site_name}}"
msgstr "Cysylltwch â {{site_name}}"
msgid "Could not identify the request from the email address"
-msgstr "Methiant adnabod y cais o'r cyfeiriad ebost"
+msgstr "Methwyd ag adnabod y cais o'r cyfeiriad e-bost"
msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
-msgstr ""
+msgstr "Methwyd â deall y ffeil ddelwedd yr ydych yn llwytho i fyny. Cefnogir PNG, JPEG, GIF a llawer o fformatau ffeil delwedd cyffredin eraill."
msgid "Crop your profile photo"
-msgstr "Torrwch eich llun broffil"
+msgstr "Tociwch lun eich proffil"
msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
-msgstr ""
+msgstr "Safleoedd diwylliannol a strwythurau adeiledig (gan y gallant gael eu heffeithio gan y ffactorau amgylcheddol a restrir uchod)"
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
-msgstr ""
+msgstr "Ar hyn o bryd <strong>yn aros am ymateb</strong> gan {{public_body_link}} , rhaid iddynt ymateb yn brydlon ac"
msgid "Date:"
msgstr "Dyddiad"
msgid "Dear {{name}},"
-msgstr ""
+msgstr "Annwyl {{name}},"
msgid "Dear {{public_body_name}},"
msgstr "Annwyl {{public_body_name}},"
msgid "Default locale"
-msgstr ""
+msgstr "Locale diofyn"
msgid "Defunct."
-msgstr ""
+msgstr "Wedi darfod."
msgid "Delayed response to your FOI request - "
-msgstr "Ymateb i'ch cais Rh.G. a oedwyd -"
+msgstr "Ymateb hwyr i'ch cais Rh.G. -"
msgid "Delayed."
-msgstr "Oededig."
+msgstr "Hwyr."
msgid "Delivery error"
msgstr "Methiant cyflwyno"
msgid "Destroy {{name}}"
-msgstr ""
+msgstr "Dinistrio {{name}}"
msgid "Details of request '"
-msgstr ""
+msgstr "Manylion y cais"
msgid "Did you mean: {{correction}}"
-msgstr ""
+msgstr "A oeddech yn meddwl: {{correction}}"
msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
-msgstr ""
+msgstr "Ymwadiad: Caiff y neges hon ac unrhyw ateb a roddwch eu cyhoeddi ar y rhyngrwyd. Ein polisïau preifatrwydd a hawlfraint:"
msgid "Disclosure log"
-msgstr ""
+msgstr "Log datgelu"
msgid "Disclosure log URL"
-msgstr ""
+msgstr "URL log datgelu"
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
-msgstr ""
+msgstr "Ddim eisiau cyfeirio'ch neges i {{person_or_body}}? Gallwch hefyd ysgrifennu at:"
msgid "Done"
-msgstr ""
+msgstr "Wedi'i wneud"
msgid "Done &gt;&gt;"
-msgstr ""
+msgstr "Done >>"
msgid "Download a zip file of all correspondence"
-msgstr ""
+msgstr "Lawrlwytho ffeil zip o bob gohebiaeth"
msgid "Download original attachment"
msgstr "Lawrlwytho'r atodiad gwreiddiol"
@@ -669,67 +675,67 @@ msgid "EIR"
msgstr "Rheoliadau Gwybodaeth Amgylcheddol"
msgid "Edit"
-msgstr ""
+msgstr "Golygu"
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
-msgstr ""
+msgstr "Golygu ac ychwanegu <strong>mwy o fanylion</strong> at y neges uchod, yn esbonio pam eich bod yn anfodlon ar eu hymateb."
msgid "Edit text about you"
-msgstr ""
+msgstr "Golygu testun amdanoch chi"
msgid "Edit this request"
msgstr "Golygu'r cais hwn"
msgid "Either the email or password was not recognised, please try again."
-msgstr ""
+msgstr "Nid yw naill ai'r e-bost neu'r cyfrinair wedi ei adnabod, ceisiwch eto os gwelwch yn dda."
msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
-msgstr ""
+msgstr "Nid yw naill ai'r e-bost neu'r cyfrinair wedi ei adnabod, ceisiwch eto, os gwelwch yn dda . Neu crewch gyfrif newydd gan ddefnyddio'r ffurflen ar y dde."
msgid "Email doesn't look like a valid address"
msgstr "Dydy'r cyfeiriad ebost ddim yn edrych yn ddilys"
msgid "Email me future updates to this request"
-msgstr ""
+msgstr "E-bostiwch diweddariadau i'r cais hwn yn y dyfodol ataf"
msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
-msgstr ""
+msgstr "Rhowch eiriau yr ydych am ddod o hyd iddynt, wedi eu gwahanu gan fylchau, ee <strong>lôn ddringo</strong>"
msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
-msgstr ""
+msgstr "Rhowch eich ymateb isod. Gallwch atodi un ffeil (defnyddiwch e-bost, neu <a href=\"{{url}}\">cysylltwch â ni</a> os oes angen mwy)."
msgid "Environmental Information Regulations"
msgstr "Rheoliadau Gwybodaeth Amgylcheddol"
msgid "Environmental Information Regulations requests made"
-msgstr ""
+msgstr "Ceisiadau Amgylcheddol Rheoliadau Gwybodaeth a wnaed"
msgid "Environmental Information Regulations requests made using this site"
-msgstr ""
+msgstr "Ceisiadau Rheoliadau Amgylcheddol Gwybodaeth a wnaed gan ddefnyddio'r wefan hon"
msgid "Event history"
msgstr "Hanes y digwyddiad"
msgid "Event history details"
-msgstr "Hanes y digwyddiad: Manylion"
+msgstr "Hanes y digwyddiad: manylion"
msgid "Event {{id}}"
-msgstr ""
+msgstr "Digwyddiad {{id}}"
msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Dangosir popeth yr ydych yn rhoi i mewn ar y dudalen hon, gan gynnwys <strong>eich enw</strong>, <strong>yn gyhoeddus</strong> ar y wefan hon am byth (<a href =\"{{url}}\">pam?</a>)."
msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Dangosir popeth yr ydych yn rhoi i mewn ar y dudalen hon <strong>yn gyhoeddus</strong> ar y wefan hon am byth (<a href=\"{{url}}\">pam?</a>) ."
msgid "FOI"
msgstr "Rhyddid Gwybodaeth"
msgid "FOI email address for {{public_body}}"
-msgstr ""
+msgstr "Cyfeiriad e-bost Rhyddid Gwybodaeth ar gyfer {{public_body}} "
msgid "FOI request – {{title}}"
-msgstr ""
+msgstr "Cais Rhyddid Gwybodaeth - {{title}}"
msgid "FOI requests"
msgstr "Ceisiadau Rhyddid Gwybodaeth"
@@ -738,67 +744,67 @@ msgid "FOI requests by '{{user_name}}'"
msgstr "Ceisiadau Rhyddid Gwybodaeth gan '{{user_name}}'"
msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr "Ceisiadau Rhyddid Gwybodaeth {{start_count}} i {{end_count}} o{{total_count}}"
+msgstr "Ceisiadau Rhyddid Gwybodaeth {{start_count}} i {{end_count}} o {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
-msgstr ""
+msgstr "Mae ar Ymateb Rhyddid Gwybodaeth angen gweinyddu ({{reason}}) - {{title}}"
msgid "Failed to convert image to a PNG"
-msgstr ""
+msgstr "Methu trosi delwedd i PNG"
msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
-msgstr ""
+msgstr "Methwyd trosi delwedd i'r maint cywir: yn {{cols}} x {{rows}}, angen {{width}}x{{height}}"
msgid "Filter"
-msgstr ""
+msgstr "Hidlo"
msgid "First, did your other requests succeed?"
-msgstr ""
+msgstr "Yn gyntaf, a lwyddodd eich ceisiadau eraill?"
msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
msgstr "Yn gyntaf, teipiwch <strong>enw awdurdod cyhoeddus yn y DU</strong> yr hoffech gael gwybodaeth ganddo. <strong>Yn ôl y gyfraith, mae'n rhaid iddynt ymateb</strong> (<a href=\"{{url}}\">pam?</a>)."
msgid "Foi attachment"
-msgstr ""
+msgstr "Atodiad FoI"
msgid "FoiAttachment|Charset"
-msgstr ""
+msgstr "FoiAttachment | Set Nodau"
msgid "FoiAttachment|Content type"
-msgstr ""
+msgstr "FoiAttachment| Math o gynnwys"
msgid "FoiAttachment|Display size"
-msgstr ""
+msgstr "FoiAttachment | Maint Arddangos"
msgid "FoiAttachment|Filename"
-msgstr ""
+msgstr "FoiAttachment | Enw Ffeil"
msgid "FoiAttachment|Hexdigest"
-msgstr ""
+msgstr "FoiAttachment | Hexdigest"
msgid "FoiAttachment|Url part number"
-msgstr ""
+msgstr "FoiAttachment | Rhif rhan Url"
msgid "FoiAttachment|Within rfc822 subject"
-msgstr ""
+msgstr "FoiAttachment | O fewn pwnc rfc822 "
msgid "Follow"
-msgstr ""
+msgstr "Dilynwch"
msgid "Follow all new requests"
-msgstr ""
+msgstr "Dilynwch yr holl geisiadau newydd"
msgid "Follow new successful responses"
-msgstr ""
+msgstr "Dilynwch ymatebion llwyddiannus newydd"
msgid "Follow requests to {{public_body_name}}"
-msgstr ""
+msgstr "Dilyn ceisiadau i {{public_body_name}} "
msgid "Follow these requests"
msgstr "Dilynwch y ceisiadau hyn"
msgid "Follow things matching this search"
-msgstr ""
+msgstr "Dilynwch bethau sy'n matsio'r chwiliad hwn"
msgid "Follow this authority"
msgstr "Dilynwch yr awdurdod hwn"
@@ -807,41 +813,50 @@ msgid "Follow this link to see the request:"
msgstr "Dilynwch y ddolen hon i weld y cais:"
msgid "Follow this person"
-msgstr ""
+msgstr "Dilynwch y person hwn"
msgid "Follow this request"
msgstr "Dilynwch y cais hwn"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
-msgstr ""
+msgstr "Dilyniant"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
-msgstr ""
+msgstr "Neges ddilynol a anfonwyd gan y ceisydd"
msgid "Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Anfonir negeseuon dilynol i geisiadau presennol at "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
-msgstr ""
+msgstr "Rhwystrwyd dilyniannau ac ymatebion newydd i'r cais hwn i atal spam. <a href=\"{{url}}\">Cysylltwch â ni</a> os ydych yn {{user_link}} ac mae angen anfon neges ddilynol."
msgid "Follow us on twitter"
msgstr "Dilynwch ni ar Twitter"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
-msgstr ""
+msgstr "Ni ellir anfon Dilyniannau amy cais hwn, gan ei fod wedi cael ei wneud yn allanol, ac fe gafodd ei gyhoeddi yma gan {{public_body_name}} ar ran y ceisydd."
msgid "For an unknown reason, it is not possible to make a request to this authority."
-msgstr ""
+msgstr "Am reswm anhysbys, nid yw'n bosibl gwneud cais i'r awdurdod hwn."
msgid "Forgotten your password?"
msgstr "Wedi anghofio eich cyfrinair?"
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Wedi dod o hyd i {{count}} awdurdod cyhoeddus {{description}}"
+msgstr[1] "Wedi dod o hyd i {{count}} awdurdod cyhoeddus {{description}}"
+msgstr[2] "Wedi dod o hyd i {{count}} awdurdod cyhoeddus {{description}}"
+msgstr[3] "Wedi dod o hyd i {{count}} awdurdod cyhoeddus {{description}}"
msgid "Freedom of Information"
msgstr "Rhyddid Gwybodaeth"
@@ -850,13 +865,13 @@ msgid "Freedom of Information Act"
msgstr "Deddf Rhyddid Gwybodaeth"
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
-msgstr ""
+msgstr "Nid yw cyfraith Rhyddid Gwybodaeth yn berthnasol i'r awdurdod hwn, felly ni allwch wneud cais iddo."
msgid "Freedom of Information law no longer applies to"
-msgstr "Nid yw cyfraith Rhyddid Gwybodaeth bellach yn berthnasol i"
+msgstr "Nid yw cyfraith Rhyddid Gwybodaeth bellach yn gymwys i"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Nid yw cyfraith Rhyddid Gwybodaeth bellach yn gymwys i'r awdurdod hwn. Anfonir negeseuon dilynol i geisiadau presennol i "
msgid "Freedom of Information requests made"
msgstr "Ceisiadiau Rhyddid Gwybodaeth a wnaethpwyd"
@@ -874,34 +889,34 @@ msgid "Freedom of information requests to"
msgstr "Ceisiadiau Rhyddid Gwybodaeth at"
msgid "From"
-msgstr ""
+msgstr "Oddi wrth"
msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "O'r dudalen gwneud cais, ceisiwch ateb i neges benodol, yn hytrach nag anfon neges ddilynol gyffredinol. Os oes angen i chi wneud neges gyffredinol, ac yn gwybod e-bost a fydd yn mynd i'r lle iawn, <a href=\"{{url}}\">anfon atom</a> os gwelwch yn dda."
msgid "From:"
msgstr "Oddi wrth:"
msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
-msgstr "RHOWCH MANYLION EICH CWYN YMA"
+msgstr "RHOWCH FANYLION AM EICH CWYN YMA"
msgid "Handled by post."
-msgstr ""
+msgstr "Wedi ei drin gan bost."
msgid "Has tag string/has tag string tag"
-msgstr ""
+msgstr "Â llinyn tag / Â thag llinyn tag"
msgid "HasTagString::HasTagStringTag|Model"
-msgstr ""
+msgstr "HasTagString :: HasTagStringTag | Model"
msgid "HasTagString::HasTagStringTag|Name"
-msgstr ""
+msgstr "HasTagString :: HasTagStringTag|Enw"
msgid "HasTagString::HasTagStringTag|Value"
-msgstr ""
+msgstr "HasTagString :: HasTagStringTag|Gwerth"
msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
-msgstr "Shwmae! Rydych chi'n gallu gwneud ceisiadau Rhyddid Gwybodaeth yn {{country_name}} yma:{{link_to_website}}"
+msgstr "Helo! Rydych chi'n gallu gwneud ceisiadau Rhyddid Gwybodaeth o fewn {{country_name}} yma:{{link_to_website}}"
msgid "Hello, {{username}}!"
msgstr "Helo, {{username}}!"
@@ -910,109 +925,109 @@ msgid "Help"
msgstr "Help"
msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
-msgstr ""
+msgstr "Yma mae <strong>wedi ei ddisgrifio</strong> yn golygu pan fydd defnyddiwr yn dewis statws ar gyfer y cais, a statws y digwyddiad mwyaf diweddar wedi ei diweddaru statws i'r gwerth hwnnw. Wedyn mae <strong>wedi'i gyfrifo</strong> yn cael ei dybio gan {{site_name}} ar gyfer digwyddiadau canolradd, na chawsant ddisgrifiad penodol gan ddefnyddiwr. Gweler <a href=\"{{search_path}}\">awgrymiadau chwilio</a> am ddisgrifiad o'r cyflyrau."
msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
-msgstr ""
+msgstr "Dyma'r neges ysgrifennoch, rhag ofn yr hoffech gopïo'r testun a'i gadw ar gyfer yn ddiweddarach."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
-msgstr ""
+msgstr "Hiya! Rydym angen eich help. Dydy'r person a wnaeth y cais canlynol sydd ddim wedi dweud wrthym ai oedd yn llwyddiannus. A fyddech chi'n meddwl cymryd eiliad i'w ddarllen a'n helpu ni i gadw'r lle'n daclus i bawb? Diolch."
msgid "Hide request"
-msgstr ""
+msgstr "Cuddio cais"
msgid "Holiday"
-msgstr ""
+msgstr "Gwyliau"
msgid "Holiday|Day"
-msgstr "Gwyliau | Diwrnod"
+msgstr "Holiday|Diwrnod"
msgid "Holiday|Description"
-msgstr "Gwyliau | Disgrifiad"
+msgstr "Holiday|Disgrifiad"
msgid "Home"
msgstr "Hafan"
msgid "Home page"
-msgstr ""
+msgstr "Tudalen hafan"
msgid "Home page of authority"
msgstr "Tudalen hafan yr awdurdod"
msgid "However, you have the right to request environmental\\n information under a different law"
-msgstr ""
+msgstr "Fodd bynnag, mae gennych yr hawl i ofyn am wybodaeth amgylcheddol dan gyfraith wahanol"
msgid "Human health and safety"
-msgstr "Iechyd a diogelwch dynol"
+msgstr "Iechyd dynol a diogelwch"
msgid "I am asking for <strong>new information</strong>"
-msgstr "Rydw i'n gofyn am <strong>gwybodaeth newydd</strong>"
+msgstr "Rwyf yn gofyn am <strong>wybodaeth newydd</strong>"
msgid "I am requesting an <strong>internal review</strong>"
-msgstr "Yr wyf yn gofyn am <strong>adolygiad mewnol</strong>"
+msgstr "Rwyf yn gofyn am <strong>adolygiad mewnol</strong>"
msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
-msgstr ""
+msgstr "Rwyf yn ysgrifennu i ofyn am adolygiad mewnol o'r ffordd driniodd {{public_body_name}} fy nghais Rhyddid Gwybodaeth '{{info_request_title}}'."
msgid "I don't like these ones &mdash; give me some more!"
-msgstr ""
+msgstr "Dydw i ddim yn hoffi'r rhain - rhowch ragor i mi!"
msgid "I don't want to do any more tidying now!"
-msgstr ""
+msgstr "Nid wyf am wneud rhagor o dacluso nawr!"
msgid "I like this request"
-msgstr ""
+msgstr "Rwy'n hoffi'r cais hwn"
msgid "I would like to <strong>withdraw this request</strong>"
-msgstr "Hoffwn i atal y cais hwn"
+msgstr "Hoffwn <strong<dynnu</strong>'r cais hwn"
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
-msgstr ""
+msgstr "Rwy'n <strong>disgwyl o hyd</strong> am fy ngwybodaeth <small>(efallai i chi dderbyn cydnabyddiaeth)</small>"
msgid "I'm still <strong>waiting</strong> for the internal review"
-msgstr "Rydw i dal yn <strong>aros</strong> am yr adolygiad mewnol"
+msgstr "Rwy'n <strong>disgwyl o hyd</strong> am yr adolygiad mewnol"
msgid "I'm waiting for an <strong>internal review</strong> response"
-msgstr ""
+msgstr "Rwy'n disgwyl am ymateb <strong>yr adolygiad mewnol</strong>"
msgid "I've been asked to <strong>clarify</strong> my request"
msgstr "Gofynnwyd i mi <strong>egluro</strong> fy nghais"
msgid "I've received <strong>all the information"
-msgstr "Yr wyf wedi derbyn <strong>yr holl wybodaeth"
+msgstr "Rwyf wedi derbyn <strong>yr holl wybodaeth</strong>"
msgid "I've received <strong>some of the information</strong>"
-msgstr "Yr wyf wedi derbyn <strong>rhan o'r wybodaeth</strong>"
+msgstr "Rwyf wedi derbyn <strong>rhan o'r wybodaeth</strong>"
msgid "I've received an <strong>error message</strong>"
-msgstr "Rydw i wedi cael <strong>neges gwall</strong>"
+msgstr "Rwyf wedi derbyn <strong>neges gwall</strong>"
msgid "I've received an error message"
-msgstr ""
+msgstr "Rwyf wedi derbyn neges gwall"
msgid "Id"
-msgstr ""
+msgstr "Id"
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Os yw'r cyfeiriad yn anghywir, neu os ydych yn gwybod am gyfeiriad gwell, <a href=\"{{url}}\">cysylltwch â ni</a> os gwelwch yn dda."
msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
-msgstr ""
+msgstr "Os methiant dosbarthu oedd y gwall, ac rydych chi'n gallu dod o hyd i cyfeiriad e-bost Rhyddid Gwybodaeth cyfoes ar gyfer yr awdurdod, rhowch wybod i ni gan ddefnyddio'r ffurflen isod."
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
-msgstr ""
+msgstr "Os yw hyn yn anghywir, neu os hoffech anfon ymateb hwyr i'r cais neu e-bost ar bwnc arall i {{user}}, yna e-bostiwch {{contact_email}} am gymorth."
msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
-msgstr ""
+msgstr "Os ydych yn anfodlon â'r ymateb a gawsoch gan yr awdurdod cyhoeddus, mae gennych yr hawl i gwyno (<a href=\"{{url}}\">manylion</a>)"
msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Os ydych yn dal i gael trafferth, <a href=\"{{url}}\">cysylltwch â ni</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
-msgstr ""
+msgstr "Os chi sy'n gwneud y cais, gallwch <a href=\"{{url}}\">fewngofnodi</a> i weld y neges."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr "Os chi yw'r ceisydd, rydych chi'n gallu <a href=\"{{url}}\">mewngofnodi</a> i weld y cais;."
+msgstr "Os chi sy'n gwneud y cais, gallwch <a href=\"{{url}}\">fewngofnodi</a> i weld y cais."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
msgstr "Os ydych yn ystyried defnyddio ffugenw, <a href=\"{{url}}\">darllenwch hwn yn gyntaf</a> os gwelwch yn dda."
@@ -1021,31 +1036,31 @@ msgid "If you are {{user_link}}, please"
msgstr "Os {{user_link}} ydych chi, os gwelwch yn dda, "
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr ""
+msgstr "Os ydych yn credu nad yw'r cais hwn yn addas, gallwch roi gwybod i weinyddwyr y safle at eu sylw"
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
-msgstr ""
+msgstr "Os nad ydych yn gallu ei glicio yn yr ebost bydd rhaid <strong>ei ddewis a'i gopïo</strong> o'r e-bost. Yna, <strong>gludwch e i mewn i'ch porwr</strong>, i'r lle y byddech yn teipio cyfeiriad unrhyw dudalen we arall."
msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
-msgstr ""
+msgstr "Os gallwch chi, sganiwch neu dynnwch lun yr ymateb, ac <strong>anfon copi i ni</strong> lwytho i fyny."
msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
-msgstr ""
+msgstr "Os byddwch fel swyddog Rhyddid Gwybodaeth yn cael y gwasanaeth hwn yn ddefnyddiol, gofynnwch i'ch rheolwr gwe i gysylltu â ni o dudalen Rhyddid Gwybodaeth eich sefydliad."
msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
-msgstr ""
+msgstr "Os cawsoch yr e-bost <strong>dros chwe mis yn ôl</strong>, yna ni fydd y ddolen fewngofnodi hon yn gweithio bellach. Ceisiwch wneud yr hyn yr oeddech yn ei wneud o'r dechrau."
msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
-msgstr ""
+msgstr "Os nad ydych wedi gwneud hynny'n barod, ysgrifennwch neges isod gan ddweud wrth yr awdurdod eich bod wedi tynnu eich cais yn ôl. Fel arall, ni fyddant yn gwybod ei fod wedi cael ei dynnu'n ôl."
msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
-msgstr ""
+msgstr "Os byddwch yn ymateb i'r neges hon, bydd yn mynd yn uniongyrchol i {{user_name}}, a fydd yn dysgu eich cyfeiriad e-bost. Dim ond os yw hynny'n iawn y dylech ymateb."
msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
-msgstr ""
+msgstr "Os ydych yn defnyddio e-bost ar y we neu hidlwyr \"post sothach\", edrychwch hefyd yn edrych ar eich ffolderi e-post swmp/spam. Weithiau, caiff ein negeseuon eu marcio felly."
msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
-msgstr ""
+msgstr "Os hoffech i ni i godi'r gwaharddiad hwn, cewch <a href=\"/help/contact\">ofyn i ni</a> yn gwrtais ni gan roi rhesymau."
msgid "If you're new to {{site_name}}"
msgstr "Os ydych yn newydd i {{site_name}}"
@@ -1054,139 +1069,139 @@ msgid "If you've used {{site_name}} before"
msgstr "Os ydych chi wedi defnyddio {{site_name}} o'r blaen "
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
-msgstr ""
+msgstr "Os yw eich porwr wedi ei osod i dderbyn cwcis ac rydych yn gweld y neges hon, yna mae'n debyg fod nam ar ein gweinydd."
msgid "Incoming email address"
-msgstr ""
+msgstr "Cyfeiriad e-bost sy'n dod i mewn"
msgid "Incoming message"
-msgstr ""
+msgstr "Neges sy'n dod i mewn"
msgid "IncomingMessage|Cached attachment text clipped"
-msgstr ""
+msgstr "IncomingMessage|Testun atodiad yn y storfa wedi ei docio"
msgid "IncomingMessage|Cached main body text folded"
-msgstr ""
+msgstr "IncomingMessage|Testun y prif gorff o'r storfa wedi ei blygu"
msgid "IncomingMessage|Cached main body text unfolded"
-msgstr ""
+msgstr "IncomingMessage|Testun y prif gorff o'r storfa wedi ei ddad-blygu"
msgid "IncomingMessage|Last parsed"
-msgstr ""
+msgstr "IncomingMessage|Wedi ei ddosrannu ddiwethaf"
msgid "IncomingMessage|Mail from"
-msgstr ""
+msgstr "IncomingMessage| Post gan"
msgid "IncomingMessage|Mail from domain"
-msgstr ""
+msgstr "IncomingMessage| Post oddi wrth barth"
msgid "IncomingMessage|Prominence"
-msgstr ""
+msgstr "IncomingMessage|Amlygrwydd"
msgid "IncomingMessage|Prominence reason"
-msgstr ""
+msgstr "IncomingMessage|Rheswm amlygrwydd"
msgid "IncomingMessage|Sent at"
-msgstr ""
+msgstr "IncomingMessage|Anfonwyd am"
msgid "IncomingMessage|Subject"
-msgstr ""
+msgstr "IncomingMessage|Pwnc"
msgid "IncomingMessage|Valid to reply to"
-msgstr ""
+msgstr "IncomingMessage|Yn ddilys i ymateb i"
msgid "Individual requests"
-msgstr ""
+msgstr "Ceisiadau unigol"
msgid "Info request"
-msgstr ""
+msgstr "Cais Gwybodaeth"
msgid "Info request event"
-msgstr ""
+msgstr "Digwyddiad Cais Gwybodaeth"
msgid "InfoRequestEvent|Calculated state"
-msgstr ""
+msgstr "InfoRequestEvent|Cyflwr a gyfrifwyd"
msgid "InfoRequestEvent|Described state"
-msgstr ""
+msgstr "InfoRequestEvent|Cyflwr a ddisgrifiwyd"
msgid "InfoRequestEvent|Event type"
-msgstr ""
+msgstr "InfoRequestEvent|Math o ddigwyddiad"
msgid "InfoRequestEvent|Last described at"
-msgstr ""
+msgstr "InfoRequestEvent|Disgrifiwyd ddiwethaf am"
msgid "InfoRequestEvent|Params yaml"
-msgstr ""
+msgstr "InfoRequestEvent|Params yaml"
msgid "InfoRequest|Allow new responses from"
-msgstr ""
+msgstr "InfoRequest|Caniatáu ymatebion newydd gan"
msgid "InfoRequest|Attention requested"
-msgstr ""
+msgstr "InfoRequest|Sylw wedi'i geisio"
msgid "InfoRequest|Awaiting description"
-msgstr ""
+msgstr "InfoRequest|Yn disgwyl ei ddisgrifio"
msgid "InfoRequest|Comments allowed"
-msgstr ""
+msgstr "InfoRequest|Caniateir sylwadau "
msgid "InfoRequest|Described state"
-msgstr ""
+msgstr "InfoRequest|Cyflwr disgrifiedig"
msgid "InfoRequest|External url"
-msgstr ""
+msgstr "InfoRequest|url allanol"
msgid "InfoRequest|External user name"
-msgstr ""
+msgstr "InfoRequest|Enw defnyddiwr allanol"
msgid "InfoRequest|Handle rejected responses"
-msgstr ""
+msgstr "InfoRequest|Trin ymatebion a wrthodwyd"
msgid "InfoRequest|Idhash"
-msgstr ""
+msgstr "InfoRequest|Idhash"
msgid "InfoRequest|Law used"
-msgstr ""
+msgstr "InfoRequest|Y gyfraith a ddefnyddiwyd "
msgid "InfoRequest|Prominence"
-msgstr ""
+msgstr "InfoRequest|Amlygrwydd"
msgid "InfoRequest|Title"
-msgstr ""
+msgstr "InfoRequest|Teitl"
msgid "InfoRequest|Url title"
-msgstr ""
+msgstr "InfoRequest|Teitl url"
msgid "Information not held."
-msgstr ""
+msgstr "Gwybodaeth heb ei gadw."
msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
-msgstr ""
+msgstr "Gwybodaeth am allyriadau a gollyngiadau (ee sŵn, ynni, ymbelydredd, deunyddiau gwastraff)"
msgid "Internal review request"
-msgstr ""
+msgstr "Cais am adolygiad mewnol"
msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
-msgstr ""
+msgstr "A yw {{email_address}} y cyfeiriad anghywir ar gyfer ceisiadau {{type_of_request}} i {{public_body_name}}? Os felly, cysylltwch â ni gan ddefnyddio'r ffurflen hon:"
msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
-msgstr ""
+msgstr "Efallai nad yw eich porwr wedi ei osod i dderbyn peth a elwir yn \"gwcis\", neu'n methu gwneud hynny. Os gallwch chi, galluogwch gwcis, neu rhowch gynnig ar ddefnyddio porwr gwahanol. Yna pwyswch 'adnewyddu' i roi cynnig arall arno."
msgid "Items matching the following conditions are currently displayed on your wall."
-msgstr ""
+msgstr "Mae eitemau sy'n cyfateb i'r amodau canlynol yn cael eu harddangos ar hyn o bryd ar eich wal."
msgid "Items sent in last month"
-msgstr ""
+msgstr "Eitemau a anfonwyd yn y mis diwethaf"
msgid "Joined in"
-msgstr ""
+msgstr "Ymunodd yn"
msgid "Joined {{site_name}} in"
-msgstr ""
+msgstr "Ymunodd â {{site_name}} yn"
msgid "Just one more thing"
-msgstr ""
+msgstr "Dim ond un peth arall"
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Cadwch at <strong>y prif bwynt</strong>. Byddwch yn fwy tebygol o gael beth rydych yn chwilio amdano (<a href=\"{{url}}\">pam?</a>)."
@@ -1195,115 +1210,115 @@ msgid "Keywords"
msgstr "Allweddeiriau"
msgid "Last authority viewed: "
-msgstr ""
+msgstr "Yr awdurdod diwethaf edrychwyd arno: "
msgid "Last request viewed: "
-msgstr ""
+msgstr "Y cais diwethaf edrychwyd arno: "
msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
-msgstr ""
+msgstr "Gadewch i ni wybod beth oeddech yn ei wneud pan ymddangosodd y neges hon, a manylion eich porwr, eich system weithredu a'i fersiwn."
msgid "Link to this"
-msgstr ""
+msgstr "Cysylltwch â hwn"
msgid "List all"
-msgstr ""
+msgstr "Rhestrwch y cyfan"
msgid "List of all authorities (CSV)"
-msgstr ""
+msgstr "Rhestr o'r holl awdurdodau (CSV)"
msgid "Listing FOI requests"
-msgstr ""
+msgstr "Yn rhestru ceisiadau Rhyddid Gwybodaeth"
msgid "Listing public authorities"
-msgstr ""
+msgstr "Yn rhestru awdurdodau cyhoeddus"
msgid "Listing public authorities matching '{{query}}'"
-msgstr ""
+msgstr "Yn rhestru awdurdodau cyhoeddus sy'n cyfateb i '{{query}}'"
msgid "Listing tracks"
-msgstr ""
+msgstr "Yn rhestru traciau "
msgid "Listing users"
-msgstr ""
+msgstr "Yn rhestru defnyddwyr"
msgid "Log in to download a zip file of {{info_request_title}}"
-msgstr ""
+msgstr "Mewngofnodi i lawrlwytho ffeil zip o {{info_request_title}} "
msgid "Log into the admin interface"
-msgstr ""
+msgstr "Logio i mewn i'r rhyngwyneb gweinyddu"
msgid "Long overdue."
-msgstr ""
+msgstr "Yn hwyr iawn"
msgid "Made between"
-msgstr ""
+msgstr "A wnaed rhwng"
msgid "Mail server log"
-msgstr ""
+msgstr "Log gweinydd post"
msgid "Mail server log done"
-msgstr ""
+msgstr "Log gweinydd post wedi'i wneud"
msgid "MailServerLogDone|Filename"
-msgstr ""
+msgstr "MailServerLogDone|EnwFfeil"
msgid "MailServerLogDone|Last stat"
-msgstr ""
+msgstr "MailServerLogDone|Ystaedegyn diwethaf"
msgid "MailServerLog|Line"
-msgstr ""
+msgstr "MailServerLog|Llinell"
msgid "MailServerLog|Order"
-msgstr ""
+msgstr "MailServerLog|Archeb"
msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
-msgstr ""
+msgstr "Gwnewch <strong>Cais Rhyddid Gwybodaeth</strong> newydd"
msgid "Make a request"
msgstr "Gwneud cais"
msgid "Make a request to this authority"
-msgstr ""
+msgstr "Gwnewch cais i'r awdurdod hwn"
msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
-msgstr ""
+msgstr "Gwnewch gais {{law_used_short}} i '{{public_body_name}}'"
msgid "Make and browse Freedom of Information (FOI) requests"
msgstr "Gwneud a phori ceisiadau Rhyddid Gwybodaeth"
msgid "Make your own request"
-msgstr ""
+msgstr "Gwnewch eich cais eich hun"
msgid "Many requests"
-msgstr ""
+msgstr "Llawer o geisiadau"
msgid "Message"
-msgstr ""
+msgstr "Neges"
msgid "Message has been removed"
-msgstr ""
+msgstr "Neges wedi cael ei dileu"
msgid "Message sent using {{site_name}} contact form, "
-msgstr ""
+msgstr "Neges a anfonwyd gan ddefnyddio ffurflen gysylltu {{site_name}}, "
msgid "Missing contact details for '"
-msgstr ""
+msgstr "Manylion cyswllt ar goll ar gyfer '"
msgid "More about this authority"
msgstr "Rhagor am yr awdurdod hwn"
msgid "More requests..."
-msgstr ""
+msgstr "Rhagor o geisiadau ..."
msgid "More similar requests"
-msgstr ""
+msgstr "Rhagor o geisiadau tebyg"
msgid "More successful requests..."
-msgstr "Mwy o geisiadau llwyddiannus..."
+msgstr "Rhagor o geisiadau llwyddiannus..."
msgid "My profile"
-msgstr "Fy mhroffil fi"
+msgstr "Fy mhroffil"
msgid "My request has been <strong>refused</strong>"
msgstr "Mae fy nghais i wedi <strong>cael ei wrthod</strong>"
@@ -1312,19 +1327,19 @@ msgid "My requests"
msgstr "Fy ngheisiadau"
msgid "My wall"
-msgstr ""
+msgstr "Fy wal"
msgid "Name can't be blank"
-msgstr ""
+msgstr "Ni all yr enw fod yn wag"
msgid "Name is already taken"
-msgstr ""
+msgstr "Mae'r enw wedi'i ddefnyddio'n barod"
msgid "New Freedom of Information requests"
msgstr "Ceisiadau Rhyddid Gwybodaeth newydd"
msgid "New censor rule"
-msgstr ""
+msgstr "Rheol sensro newydd"
msgid "New e-mail:"
msgstr "Cyfeiriad ebost newydd:"
@@ -1339,151 +1354,151 @@ msgid "New password: (again)"
msgstr "Cyfrinair newydd: (eto)"
msgid "New response to '{{title}}'"
-msgstr ""
+msgstr "Ymateb newydd i '{{title}}'"
msgid "New response to your FOI request - "
-msgstr ""
+msgstr "Ymateb newydd i'ch cais Rhyddid Gwybodaeth - "
msgid "New response to your request"
-msgstr ""
+msgstr "Ymateb newydd i'ch cais"
msgid "New response to {{law_used_short}} request"
-msgstr ""
+msgstr "Ymateb newydd i'r cais {{law_used_short}} "
msgid "New updates for the request '{{request_title}}'"
-msgstr ""
+msgstr "Diweddariadau newydd i'r cais '{{request_title}}'"
msgid "Newest results first"
-msgstr ""
+msgstr "Canlyniadau diweddaraf yn gyntaf"
msgid "Next"
msgstr "Nesaf"
msgid "Next, crop your photo &gt;&gt;"
-msgstr ""
+msgstr "Nesaf, tociwch eich llun &gt;&gt;"
msgid "No requests of this sort yet."
-msgstr ""
+msgstr "Dim ceisiadau o'r math hwn eto."
msgid "No results found."
-msgstr ""
+msgstr "Heb ddod o hyd i ganlyniadau."
msgid "No similar requests found."
-msgstr ""
+msgstr "Heb ddod o hyd i geisiadau tebyg."
msgid "No tracked things found."
-msgstr ""
+msgstr "Dim wedi dod o hyd i bethau wedi eu tracio."
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
-msgstr ""
+msgstr "Nid oes neb wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth i {{public_body_name}} drwy ddefnyddio'r wefan hon eto."
msgid "None found."
-msgstr ""
+msgstr "Heb ganfod yr un."
msgid "None made."
-msgstr ""
+msgstr "Dim wedi eu gwneud."
msgid "Not a valid FOI request"
-msgstr ""
+msgstr "Ddim yn gais Rhyddid Gwybodaeth dilys"
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
-msgstr ""
+msgstr "Noder na fydd y ceisydd yn cael gwybod am eich anodi, oherwydd i'r cais gael ei gyhoeddi gan {{public_body_name}} ar eu rhan."
msgid "Now check your email!"
-msgstr ""
+msgstr "Nawr sieciwch eich ebost!"
msgid "Now preview your annotation"
-msgstr ""
+msgstr "Nawr rhagolygwch eich anodi"
msgid "Now preview your follow up"
-msgstr ""
+msgstr "Nawr rhagolygwch eich neges ddilynol"
msgid "Now preview your message asking for an internal review"
-msgstr ""
+msgstr "Nawr bwrwch ragolwg ar eich neges yn gofyn am adolygiad mewnol"
msgid "Number of requests"
-msgstr ""
+msgstr "Nifer y ceisiadau"
msgid "OR remove the existing photo"
-msgstr ""
+msgstr "NEU tynnwch y llun presennol"
msgid "Offensive? Unsuitable?"
-msgstr ""
+msgstr "Sarhaus? Anaddas?"
msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
-msgstr ""
+msgstr "O na! Mae'n ddrwg gennym glywed bod eich cais wedi cael ei wrthod. Dyma beth i'w wneud yn awr."
msgid "Old e-mail:"
-msgstr ""
+msgstr "Hen e-bost:"
msgid "Old email address isn't the same as the address of the account you are logged in with"
-msgstr ""
+msgstr "Nid yw'r hen gyfeiriad e-bost yr un fath â chyfeiriad y cyfrif yr ydych wedi logio i mewn iddo"
msgid "Old email doesn't look like a valid address"
-msgstr ""
+msgstr "Nid yw'r hen e-bost yn edrych fel cyfeiriad dilys"
msgid "On this page"
-msgstr ""
+msgstr "Ar y dudalen hon"
msgid "One FOI request found"
-msgstr ""
+msgstr "Daethwpyd o hyd i un cais Rhyddid Gwybodaeth"
msgid "One person found"
-msgstr ""
+msgstr "Daethwpyd o hyd i un person"
msgid "One public authority found"
-msgstr ""
+msgstr "Daethwpyd o hyd i un awdurdod cyhoeddus"
msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
-msgstr ""
+msgstr "Peidiwch â rhoi byrfoddau heblaw am rai a ddefnyddir mewn gwirionedd, fel arall gadewch yn wag. Defnyddir enw byr neu hir yn y URL - peidiwch â phoeni am dorri URLs drwy ailenwi, gan fod yr hanes yn cael ei ddefnyddio i ailgyfeirio"
msgid "Only requests made using {{site_name}} are shown."
-msgstr ""
+msgstr "Dim ond ceisiadau a wnaed gan ddefnyddio {{site_name}} a ddangosir."
msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
-msgstr ""
+msgstr "Dim ond yr awdurdod a all ymateb i'r cais hwn, ac nid wyf yn adnabod y cyfeiriad o ble yr anfonwyd yr ateb hwn."
msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
-msgstr ""
+msgstr "Dim ond yr awdurdod a all ymateb i'r cais hwn, ond nid oes cyfeiriad \"O\" i wirio yn ei erbyn"
msgid "Or search in their website for this information."
-msgstr ""
+msgstr "Neu chwilio yn eu gwefan am y wybodaeth hon."
msgid "Original request sent"
-msgstr ""
+msgstr " Anfonwyd y cais gwreiddiol"
msgid "Other:"
-msgstr ""
+msgstr "Arall:"
msgid "Outgoing message"
-msgstr ""
+msgstr "Neges sy'n mynd allan"
msgid "OutgoingMessage|Body"
-msgstr ""
+msgstr "OutgoingMessage|Corff"
msgid "OutgoingMessage|Last sent at"
-msgstr ""
+msgstr "OutgoingMessage|Anfonwyd ddiwethaf am"
msgid "OutgoingMessage|Message type"
-msgstr ""
+msgstr "OutgoingMessage|Math o neges"
msgid "OutgoingMessage|Prominence"
-msgstr ""
+msgstr "OutgoingMessage|Amlygrwydd"
msgid "OutgoingMessage|Prominence reason"
-msgstr ""
+msgstr "OutgoingMessage|Rheswm amlygrwydd"
msgid "OutgoingMessage|Status"
-msgstr ""
+msgstr "OutgoingMessage|Statws"
msgid "OutgoingMessage|What doing"
-msgstr ""
+msgstr "OutgoingMessage|Beth sy'n digwydd"
msgid "Partially successful."
-msgstr ""
+msgstr "Rhannol lwyddiannus."
msgid "Password is not correct"
-msgstr ""
+msgstr "Nid yw'r cyfrinair yn gywir"
msgid "Password:"
msgstr "Cyfrinair"
@@ -1492,1313 +1507,1310 @@ msgid "Password: (again)"
msgstr "Cyfrinair: (eto)"
msgid "Paste this link into emails, tweets, and anywhere else:"
-msgstr ""
+msgstr "Gludwch y ddolen hon i e-bost, trydariadau, ac unrhyw le arall:"
msgid "People"
-msgstr ""
+msgstr "Pobl"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Pobl {{start_count}} i {{end_count}} o {{total_count}} "
msgid "Percentage of requests that are overdue"
-msgstr ""
+msgstr "Canran y ceisiadau sy'n hwyr"
msgid "Percentage of total requests"
-msgstr ""
+msgstr "Canran cyfanswm y ceisiadau"
msgid "Photo of you:"
-msgstr ""
+msgstr "Llun ohonoch:"
msgid "Plans and administrative measures that affect these matters"
-msgstr ""
+msgstr "Cynlluniau a mesurau gweinyddol sy'n effeithio ar y materion hyn"
msgid "Play the request categorisation game"
-msgstr ""
+msgstr "Chwaraewch y gêm categoreiddio cais"
msgid "Play the request categorisation game!"
-msgstr ""
+msgstr "Chwaraewch y gêm categoreiddio cais!"
msgid "Please"
-msgstr ""
+msgstr "Os gwelwch yn dda"
msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "<a href=\"{{url}}\">Cysylltwch â ni</a> os oes gennych gwestiynau."
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
-msgstr ""
+msgstr "<a href=\"{{url}}\">Cysylltwch â ni</a> gyda ni fel y gallwn ei drwsio."
msgid "Please <strong>answer the question above</strong> so we know whether the "
-msgstr ""
+msgstr "<strong>Atebwch y cwestiwn uchod </strong> i ni gael gwybod a oedd y "
msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
-msgstr ""
+msgstr "<strong>Ewch i'r ceisiadau canlynol </strong>, a gadewch i ni wybod a oedd gwybodaeth yn yr ymatebion diweddar iddynt."
msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
-msgstr ""
+msgstr "Ysgrifennwch negeseuon sy'n ymwneud yn uniongyrchol â'ch cais {{request_link}} <strong>yn unig</strong>. Os hoffech chi ofyn am wybodaeth nad oedd yn eich cais gwreiddiol yna <a ffeil href=\"{{new_request_link}}\">gwnewch gais newydd </a>."
msgid "Please ask for environmental information only"
-msgstr ""
+msgstr "Gofynnwch am wybodaeth amgylcheddol yn unig"
msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
-msgstr ""
+msgstr "Gwiriwch fod yr URL (hy y côd hir o lythrennau a rhifau) wedi'i gopio'n gywir p'ch e-bost."
msgid "Please choose a file containing your photo."
-msgstr ""
+msgstr "Dewiswch ffeil sy'n cynnwys eich llun."
msgid "Please choose a reason"
-msgstr ""
+msgstr "Dewiswch reswm"
msgid "Please choose what sort of reply you are making."
-msgstr ""
+msgstr "Dewiswch pa fath o ateb yr ydych yn ei wneud."
msgid "Please choose whether or not you got some of the information that you wanted."
-msgstr ""
+msgstr "Dewiswch p'un a gawsoch rywfaint o'r wybodaeth a pedd arnoch ei eisiau."
msgid "Please click on the link below to cancel or alter these emails."
-msgstr ""
+msgstr "Cliciwch ar y ddolen isod i ganslo neu newid negeseuon yr e-bost hyn."
msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
-msgstr ""
+msgstr "Cliciwch ar y ddolen isod i gadarnhau eich bod am newid y cyfeiriad e-bost rydych yn ei ddefnyddio ar gyfer {{site_name}} o {{old_email}} i {{new_email}} "
msgid "Please click on the link below to confirm your email address."
-msgstr ""
+msgstr "Cliciwch ar y ddolen isod i gadarnhau eich cyfeiriad e-bost."
msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
-msgstr ""
+msgstr "Disgrifiwch y cais ymhellach yn y pwnc. Nid oes angen i ddweud ei fod yn gais Rhyddid Gwybodaeth, byddwn yn ychwanegu hynny beth bynnag."
msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
-msgstr ""
+msgstr "Peidiwch â llwytho lluniau sarhaus os gwelwch yn dda. Byddwn yn tynnu delweddau sy yn ein barn yn amhriodol."
msgid "Please enable \"cookies\" to carry on"
-msgstr ""
+msgstr "Galluogwch 'gwcis' i barhau"
msgid "Please enter a password"
-msgstr ""
+msgstr "Rhowch gyfrinair"
msgid "Please enter a subject"
-msgstr ""
+msgstr "Rhowch bwnc"
msgid "Please enter a summary of your request"
-msgstr ""
+msgstr "Rhowch grynodeb o'ch cais"
msgid "Please enter a valid email address"
-msgstr ""
+msgstr "Rhowch gyfeiriad e-bost dilys"
msgid "Please enter the message you want to send"
-msgstr ""
+msgstr "Rhowch y neges rydych am ei hanfon"
msgid "Please enter the same password twice"
-msgstr ""
+msgstr "Rhowch yr un cyfrinair ddwywaith os gwelwch yn dda, "
msgid "Please enter your annotation"
-msgstr ""
+msgstr "Rhowch eich nodiadau"
msgid "Please enter your email address"
-msgstr ""
+msgstr "Rhowch eich cyfeiriad e-bost"
msgid "Please enter your follow up message"
-msgstr ""
+msgstr "Rhowch eich neges ddilynol"
msgid "Please enter your letter requesting information"
-msgstr ""
+msgstr "Rhowch eich llythyr yn gofyn am wybodaeth"
msgid "Please enter your name"
-msgstr ""
+msgstr "Rhowch eich enw"
msgid "Please enter your name, not your email address, in the name field."
-msgstr ""
+msgstr "Rhowch eich enw, dim yn eich cyfeiriad e-bost, ond yn y maes enw."
msgid "Please enter your new email address"
-msgstr ""
+msgstr "Rhowch eich cyfeiriad e-bost newydd"
msgid "Please enter your old email address"
-msgstr ""
+msgstr "Rhowch eich hen gyfeiriad e-bost"
msgid "Please enter your password"
-msgstr ""
+msgstr "Rhowch eich cyfrinair"
msgid "Please give details explaining why you want a review"
-msgstr ""
+msgstr "Rhowch fanylion yn esbonio pam eich bod am gael adolygiad"
msgid "Please keep it shorter than 500 characters"
-msgstr ""
+msgstr "Cadwch hi'n fyrrach na 500 o nodau"
msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
-msgstr ""
+msgstr "Cadwch y crynodeb yn fyr, fel pe bai'n testun e-bost. Gallwch ddefnyddio ymadrodd, yn hytrach na brawddeg lawn."
msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
-msgstr ""
+msgstr "Dim ond gwybodaeth sy'n dod o dan y categorïau hynny ddylech chi ofyn amdano, <strong>peidiwch â gwastraffu eich amser</strong> nac amser yr awdurdod cyhoeddus drwy ofyn am wybodaeth amherthnasol."
msgid "Please pass this on to the person who conducts Freedom of Information reviews."
-msgstr ""
+msgstr "Trosglwyddwch hwn i'r person sy'n cynnal adolygiadau Rhyddid Gwybodaeth os gwelwch yn dda."
msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
-msgstr ""
+msgstr "Dewiswch bob un o'r ceisiadau hyn yn ei dro, a <strong>gadewch i bawb wybod </strong> a ydyn nhw wedi bod yn llwyddiannus eto, neu beidio."
msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
-msgstr ""
+msgstr "Llofnodwch ar y gwaelod gyda'ch enw, neu newidiwch y llofnod \"{{signoff}}\""
msgid "Please sign in as "
-msgstr ""
+msgstr "Mewngofnodwch fel "
msgid "Please sign in or make a new account."
-msgstr ""
+msgstr "Mewngofnodwch neu agorwch gyfrif newydd."
msgid "Please type a message and/or choose a file containing your response."
-msgstr ""
+msgstr "Teipiwch neges a/neu ddewis ffeil sy'n cynnwys eich ymateb."
msgid "Please use this email address for all replies to this request:"
-msgstr ""
+msgstr "Defnyddiwch y cyfeiriad e-bost hwn ar gyfer yr holl atebion i'r cais hwn:"
msgid "Please write a summary with some text in it"
-msgstr ""
+msgstr "Ysgrifennwch grynodeb gyda rhywfaint o destun ynddo"
msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr ""
+msgstr "Ysgrifennwch y crynodeb gan ddefnyddio cymysgedd o brif lythrennau a llythrennau bach. Mae hyn yn ei wneud yn haws i eraill ei ddarllen."
msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr ""
+msgstr "Ysgrifennwch eich anodiad gan ddefnyddio cymysgedd o brif lythrennau a llythrennau bach. Mae hyn yn ei wneud yn haws i eraill ei ddarllen."
msgid "Please write your follow up message containing the necessary clarifications below."
-msgstr ""
+msgstr "Ysgrifennwch eich neges ddilynol gan gynnwys yr esboniadau angenrheidiol isod."
msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr ""
+msgstr "Ysgrifennwch eich neges gan ddefnyddio cymysgedd o brif lythrennau a llythrennau bach. Mae hyn yn ei wneud yn haws i eraill ei ddarllen."
msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
-msgstr ""
+msgstr "Pwyntiwch at <strong>wybodaeth berthnasol</strong>, ymgyrchoedd neu fforymau a all fod yn ddefnyddiol."
msgid "Possibly related requests:"
-msgstr ""
+msgstr "Ceisiadau a allai fod yn gysylltiedig:"
msgid "Post annotation"
-msgstr ""
+msgstr "Anodiad i bost"
msgid "Post redirect"
-msgstr ""
+msgstr "Post wedi'i ailgyfeirio"
msgid "PostRedirect|Circumstance"
-msgstr ""
+msgstr "PostRedirect|Amgylchiadau"
msgid "PostRedirect|Email token"
-msgstr ""
+msgstr "PostRedirect|Tocyn E-bost"
msgid "PostRedirect|Post params yaml"
-msgstr ""
+msgstr "PostRedirect|Params yaml post"
msgid "PostRedirect|Reason params yaml"
-msgstr ""
+msgstr "PostRedirect|Params rheswm yaml"
msgid "PostRedirect|Token"
-msgstr ""
+msgstr "PostRedirect|Tocyn"
msgid "PostRedirect|Uri"
-msgstr ""
+msgstr "PostRedirect|Uri"
msgid "Posted on {{date}} by {{author}}"
-msgstr ""
+msgstr "Postiwyd ar {{date}} gan {{author}}"
msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
-msgstr ""
+msgstr "Wedi ei yrru gan <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
msgid "Prev"
-msgstr ""
+msgstr "Blaenorol"
msgid "Preview follow up to '"
-msgstr ""
+msgstr "Rhagolwg dilyniant i '"
msgid "Preview new annotation on '{{info_request_title}}'"
-msgstr ""
+msgstr "Rhagolwg ar anodiad newydd ar '{{info_request_title}}'"
msgid "Preview your annotation"
-msgstr ""
+msgstr "Bwriwch ragolwg ar eich anodi"
msgid "Preview your message"
-msgstr ""
+msgstr "Bwriwch ragolwg ar eich neges"
msgid "Preview your public request"
-msgstr "Rhagolwg o'ch cais cyhoeddus"
+msgstr "Rhagolygwch eich cais cyhoeddus"
msgid "Profile photo"
-msgstr ""
+msgstr "Photo proffil"
msgid "ProfilePhoto|Data"
-msgstr ""
+msgstr "ProfilePhoto|Data"
msgid "ProfilePhoto|Draft"
-msgstr ""
+msgstr "ProfilePhoto|Drafft"
msgid "Public Bodies"
-msgstr ""
+msgstr "Cyrff Cyhoeddus"
msgid "Public Body Statistics"
-msgstr ""
+msgstr "Ystadegau Cyrff Cyhoeddus"
msgid "Public authorities"
-msgstr ""
+msgstr "Awdurdodau cyhoeddus"
msgid "Public authorities - {{description}}"
-msgstr ""
+msgstr "Awdurdodau cyhoeddus - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Awdurdodau cyhoeddus {{start_count}} i {{end_count}} o {{total_count}}"
msgid "Public authority – {{name}}"
-msgstr ""
+msgstr "Awdurdod cyhoeddus – {{name}}"
msgid "Public bodies that most frequently replied with \"Not Held\""
-msgstr ""
+msgstr "Cyrff cyhoeddus sy'n ateb amlaf â \"Nis cedwir\""
msgid "Public bodies with most overdue requests"
-msgstr ""
+msgstr "Cyrff cyhoeddus â'r nifer fwyaf o geisiadau hwyr"
msgid "Public bodies with the fewest successful requests"
-msgstr ""
+msgstr "Cyrff cyhoeddus gyda'r nifer leiaf o geisiadau llwyddiannus"
msgid "Public bodies with the most requests"
-msgstr ""
+msgstr "Cyrff cyhoeddus â'r nifer fwyaf o geisiadau"
msgid "Public bodies with the most successful requests"
-msgstr ""
+msgstr "Cyrff cyhoeddus â'r nifer fwyaf o geisiadau llwyddiannus"
msgid "Public body"
-msgstr ""
+msgstr "Corff cyhoeddus"
msgid "Public notes"
-msgstr ""
+msgstr "Nodiadau cyhoeddus"
msgid "Public page"
-msgstr ""
+msgstr "Tudalen gyhoeddus"
msgid "Public page not available"
-msgstr ""
+msgstr "Tudalen gyhoeddus ddim ar gael"
msgid "PublicBody|Api key"
-msgstr ""
+msgstr "PublicBody|Allwedd api"
msgid "PublicBody|Disclosure log"
-msgstr ""
+msgstr "PublicBody|Cofnod datgeliadau"
msgid "PublicBody|First letter"
-msgstr ""
+msgstr "PublicBody|Llythyr cyntaf"
msgid "PublicBody|Home page"
-msgstr ""
+msgstr "PublicBody|Hafan"
msgid "PublicBody|Info requests count"
-msgstr ""
+msgstr "PublicBody|Cyfrif ceisiadau gwybodaeth"
msgid "PublicBody|Info requests not held count"
-msgstr ""
+msgstr "PublicBody|Cyfrif ceisiadau gwybodaeth nas cedwir"
msgid "PublicBody|Info requests overdue count"
-msgstr ""
+msgstr "PublicBody|Cyfrif ceisiadau gwybodaeth hwyr"
msgid "PublicBody|Info requests successful count"
-msgstr ""
+msgstr "PublicBody|Cyfrif ceisiadau gwybodaeth llwyddiannus"
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr "PublicBody|Cyfrif ceisiadau gweladwy wedi eu dosbarthu"
msgid "PublicBody|Last edit comment"
-msgstr ""
+msgstr "PublicBody|Sylw ar y golygiad diwethaf"
msgid "PublicBody|Last edit editor"
-msgstr ""
+msgstr "PublicBody|Golygydd golygiad diwethaf"
msgid "PublicBody|Name"
-msgstr ""
+msgstr "PublicBody|Enw"
msgid "PublicBody|Notes"
-msgstr ""
+msgstr "PublicBody|Nodiadau"
msgid "PublicBody|Publication scheme"
-msgstr ""
+msgstr "PublicBody|Cynllun cyhoeddi"
msgid "PublicBody|Request email"
-msgstr ""
+msgstr "PublicBody|Ceisiwch ebost"
msgid "PublicBody|Short name"
-msgstr ""
+msgstr "PublicBody|Enw byr"
msgid "PublicBody|Url name"
-msgstr ""
+msgstr "PublicBody|Enw Url"
msgid "PublicBody|Version"
-msgstr ""
+msgstr "PublicBody|Fersiwn"
msgid "Publication scheme"
-msgstr ""
+msgstr "Cynllun cyhoeddi"
msgid "Publication scheme URL"
-msgstr ""
+msgstr "URL y cynllun cyhoeddi"
msgid "Purge request"
-msgstr ""
+msgstr "Cliriwch gais"
msgid "PurgeRequest|Model"
-msgstr ""
+msgstr "PurgeRequest|Model"
msgid "PurgeRequest|Url"
-msgstr ""
+msgstr "PurgeRequest|Url"
msgid "RSS feed"
-msgstr ""
+msgstr "Porthiant RSS"
msgid "RSS feed of updates"
-msgstr ""
+msgstr "Porthiant RSS o ddiweddariadau"
msgid "Re-edit this annotation"
-msgstr ""
+msgstr "Ail-golygu yr anodiad hwn"
msgid "Re-edit this message"
-msgstr ""
+msgstr "Ail-olygu'r neges hon"
msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
-msgstr ""
+msgstr "Darllenwch am <a href=\"{{advanced_search_url}}\">weithredwyr chwilio manwl</a>, megis agosrwydd a gwylltnodau."
msgid "Read blog"
msgstr "Darllen blog"
msgid "Received an error message, such as delivery failure."
-msgstr ""
+msgstr "Derbyniwyd neges wall, e.e. methiant cyflwyno."
msgid "Recently described results first"
-msgstr ""
+msgstr "Canlyniadau a ddisgrifiwyd yn ddiweddar yn gyntaf"
msgid "Refused."
-msgstr ""
+msgstr "Gwrthodwyd."
msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
msgstr "Cofiwch fi</label> (yn eich cadw wedi eich mewngofnodi yn hwy; peidiwch â defnyddio hwn ar gyfrifiadur cyhoeddus)"
msgid "Report abuse"
-msgstr ""
+msgstr "Anfonwch adroddiad camddefnydd"
msgid "Report an offensive or unsuitable request"
-msgstr ""
+msgstr "Rhoi gwybod am gais tramgwyddus neu anaddas"
msgid "Report request"
-msgstr ""
+msgstr "Rhoi gwybod am gais"
msgid "Report this request"
-msgstr ""
+msgstr "Rhoi gwybod am y cais hwn"
msgid "Reported for administrator attention."
-msgstr ""
+msgstr "Adroddwyd am sylw gweinyddwr."
msgid "Request an internal review"
-msgstr ""
+msgstr "Gofyn am adolygiad mewnol"
msgid "Request an internal review from {{person_or_body}}"
-msgstr ""
+msgstr "Gofyn am adolygiad mewnol o {{person_or_body}}"
msgid "Request email"
-msgstr ""
+msgstr "Ceisiwch ebost"
msgid "Request has been removed"
-msgstr ""
+msgstr "Cais wedi cael ei dynnu"
msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "Cais wedi ei anfon i {{public_body_name}} gan {{info_request_user}} ar {{date}}."
msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
-msgstr ""
+msgstr "Cais i {{public_body_name}} gan {{info_request_user}}. Wedi ei anodi gan {{event_comment_user}} ar {{date}}."
msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
-msgstr ""
+msgstr "Gofynnwyd amdani o {{public_body_name}} gan {{info_request_user}} ar {{date}}"
msgid "Requested on {{date}}"
-msgstr ""
+msgstr "Gofynnwyd amdani ar {{date}}"
msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
-msgstr ""
+msgstr "Ystyrir bod ceisiadau yn hwyr os ydynt yn 'Hwyr' neu'n 'Hwyr Iawn'."
msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
-msgstr ""
+msgstr "Ystyrir bod ceisiadau yn llwyddiannus os ydynt yn cael eu dosbarthu fel naill ai 'llwyddiannus' neu'n 'rhannol llwyddiannus'."
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
-msgstr ""
+msgstr "Nid ystyrir bod ceisiadau am wybodaeth bersonol a cheisiadau blinderus yn ddilys at ddibenion Rhyddid Gwybodaeth (<a href=\"/help/about\">darllenwch ragor</a>)."
msgid "Requests or responses matching your saved search"
-msgstr ""
+msgstr "Ceisiadau neu ymatebion sy'n cyfateb i'r chwiliad a gadwyd gennych"
msgid "Requests similar to '{{request_title}}'"
-msgstr ""
+msgstr "Ceisiadau tebyg i '{{request_title}}'"
msgid "Requests similar to '{{request_title}}' (page {{page}})"
-msgstr ""
+msgstr "Ceisiadau tebyg i '{{request_title}}' (page{{page}})"
msgid "Respond by email"
-msgstr ""
+msgstr "Ymateb drwy e-bost"
msgid "Respond to request"
-msgstr ""
+msgstr "Ymateb i gais"
msgid "Respond to the FOI request"
-msgstr ""
+msgstr "Ymateb i'r cais Rhyddid Gwybodaeth"
msgid "Respond using the web"
-msgstr ""
+msgstr "Ymateb trwy ddefnyddio'r we"
msgid "Response"
-msgstr ""
+msgstr "Ymateb"
msgid "Response from a public authority"
-msgstr ""
+msgstr "Ymateb gan awdurdod cyhoeddus"
msgid "Response to '{{title}}'"
-msgstr ""
+msgstr "Ymateb i '{{title}}'"
msgid "Response to this request is <strong>delayed</strong>."
-msgstr ""
+msgstr "Mae'r ymateb i'r cais hwn <strong>wedi cael ei oedi</strong>."
msgid "Response to this request is <strong>long overdue</strong>."
-msgstr ""
+msgstr "Mae'r ymateb i'r cais hwn yn <strong>hwyr iawn</strong>."
msgid "Response to your request"
-msgstr ""
+msgstr "Ymateb i'ch cais"
msgid "Response:"
-msgstr ""
+msgstr "Ymateb:"
msgid "Restrict to"
-msgstr ""
+msgstr "Cyfyngu i"
msgid "Results page {{page_number}}"
-msgstr ""
+msgstr "Tudalen canlyniadau {{page_number}}"
msgid "Save"
-msgstr ""
+msgstr "Cadw"
msgid "Search"
msgstr "Chwilio"
msgid "Search Freedom of Information requests, public authorities and users"
-msgstr "Chwilio Rhyddid Gwybodaeth o geisiadau, awdurdodau cyhoeddus a defnyddwyr"
+msgstr "Chwilio ceisiadau Rhyddid Gwybodaeth, awdurdodau cyhoeddus a defnyddwyr"
msgid "Search contributions by this person"
-msgstr ""
+msgstr "Chwilio cyfraniadau gan y person hwn"
msgid "Search for words in:"
-msgstr ""
+msgstr "Chwilio am eiriau yn:"
msgid "Search in"
-msgstr ""
+msgstr "Chwilio mewn"
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr ""
+msgstr "Chwilio dros <strong>{{number_of_requests}} cais</strong> a <strong>{{number_of_authorities}} awdurdod</strong>"
msgid "Search queries"
-msgstr ""
+msgstr "Chwilio ymholiadau "
msgid "Search results"
-msgstr ""
+msgstr "Chwilio canlyniadau"
msgid "Search the site to find what you were looking for."
-msgstr ""
+msgstr "Chwilio'r safle i ddod o hyd i'r hyn roeddech yn chwilio amdano."
msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
+msgstr[1] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
+msgstr[2] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
+msgstr[3] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
msgid "Search your contributions"
-msgstr ""
+msgstr "Chwilio eich cyfraniadau"
msgid "See bounce message"
-msgstr ""
+msgstr "Gweler neges bownsio"
msgid "Select one to see more information about the authority."
-msgstr ""
+msgstr "Dewiswch un i weld rhagor o wybodaeth am yr awdurdod."
msgid "Select the authority to write to"
-msgstr ""
+msgstr "Dewiswch yr awdurdod i ysgrifennu ato"
msgid "Send a followup"
-msgstr ""
+msgstr "Anfon neges ddilynol"
msgid "Send a message to "
-msgstr ""
+msgstr "Anfonwch neges i "
msgid "Send a public follow up message to {{person_or_body}}"
-msgstr ""
+msgstr "Anfonwch neges gyhoeddus ddilynol i {{person_or_body}} "
msgid "Send a public reply to {{person_or_body}}"
-msgstr ""
+msgstr "Anfon ateb cyhoeddus i {{person_or_body}} "
msgid "Send follow up to '{{title}}'"
-msgstr ""
+msgstr "Anfonwch neges ddilynol i '{{title}}'"
msgid "Send message"
-msgstr ""
+msgstr "Anfon neges"
msgid "Send message to "
-msgstr ""
+msgstr "Anfon neges i"
msgid "Send request"
-msgstr ""
+msgstr "Anfon cais"
msgid "Set your profile photo"
-msgstr ""
+msgstr "Gosodwch lun eich proffil"
msgid "Short name"
-msgstr ""
+msgstr "Enw byr"
msgid "Short name is already taken"
-msgstr ""
+msgstr "Mae'r enw byr hwnnw wedi'i ddefnyddio'n barod"
msgid "Show most relevant results first"
-msgstr ""
+msgstr "Dangoswch y canlyniadau mwyaf perthnasol yn gyntaf"
msgid "Show only..."
-msgstr ""
+msgstr "Dangos yn unig ..."
msgid "Showing"
-msgstr ""
+msgstr "Yn dangos"
msgid "Sign in"
msgstr "Mewngofnodi"
msgid "Sign in or make a new account"
-msgstr "Mewngofnodi neu gofrestru"
+msgstr "Mewngofnodi neu agor cyfrif newydd"
msgid "Sign in or sign up"
-msgstr "Mewngofnodi neu gofrestru"
+msgstr "Mewngofnodwch neu gofrestrwch"
msgid "Sign out"
-msgstr ""
+msgstr "Allgofnodwch"
msgid "Sign up"
msgstr "Cofrestrwch"
msgid "Similar requests"
-msgstr ""
+msgstr "Ceisiadau tebyg"
msgid "Simple search"
-msgstr ""
+msgstr "Chwiliad syml"
msgid "Some notes have been added to your FOI request - "
-msgstr ""
+msgstr "Mae rhai nodiadau wedi cael eu hychwanegu at eich cais Rhyddid Gwybodaeth - "
msgid "Some of the information requested has been received"
-msgstr ""
+msgstr "Mae peth o'r wybodaeth y gwnaed cais amdani wedi ei dderbyn."
msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
-msgstr ""
+msgstr "Nid yw rhai pobl sydd wedi gwneud ceisiadau wedi rhoi gwybod i ni a oeddynt yn llwyddiannus ai peidio. Mae angen <strong>eich</strong> help - dewisiwch un o'r ceisiadau hyn, ei ddarllen, a gadael i bawb wybod a yw'r wybodaeth wedi cael ei darparu. Bydd pawb yn eithriadol o ddiolchgar."
msgid "Somebody added a note to your FOI request - "
-msgstr ""
+msgstr "Ychwanegodd rhywun nodyn at eich cais Rhyddid Gwybodaeth - "
msgid "Someone has updated the status of your request"
-msgstr ""
+msgstr "Mae rhywun wedi diweddaru statws eich cais"
msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
-msgstr ""
+msgstr "Mae rhywun, efallai chi, newydd geisio newid eu cyfeiriad e-bost ar {{site_name}} o {{old_email}} i {{new_email}}."
msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
-msgstr ""
+msgstr "Mae'n ddrwg gennym - ni allwch ymateb i'r cais hwn trwy {{site_name}}, gan fod hwn yn gopi o'r cais a oedd yn wreiddiol yn {{link_to_original_request}} ."
msgid "Sorry, but only {{user_name}} is allowed to do that."
-msgstr ""
+msgstr "Mae'n ddrwg gennym, ond dim ond {{user_name}} sy'n cael gwneud hynny."
msgid "Sorry, there was a problem processing this page"
-msgstr ""
+msgstr "Mae'n ddrwg gennym, roedd problem wrth brosesu'r dudalen hon"
msgid "Sorry, we couldn't find that page"
-msgstr ""
+msgstr "Mae'n ddrwg gennym, ni allem ddod o hyd i'r dudalen honno"
msgid "Special note for this authority!"
-msgstr ""
+msgstr "Nodyn arbennig ar gyfer yr awdurdod hwn!"
msgid "Start now &raquo;"
-msgstr ""
+msgstr "Dechrau nawr &raquo"
msgid "Start your own blog"
-msgstr ""
+msgstr "Dechreuwch eich blog eich hun"
msgid "Stay up to date"
-msgstr ""
+msgstr "Parha yn gyfoes"
msgid "Still awaiting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Dal i ddisgwyl am <strong>adolygiad mewnol</strong>"
msgid "Subject"
-msgstr ""
+msgstr "Pwnc"
msgid "Subject:"
-msgstr ""
+msgstr "Pwnc:"
msgid "Submit"
-msgstr ""
+msgstr "Cyflwyno"
msgid "Submit status"
-msgstr ""
+msgstr "Cyflwyno statws"
msgid "Submit status and send message"
-msgstr ""
+msgstr "Cyflwyno statws ac anfon neges"
msgid "Subscribe to blog"
-msgstr ""
+msgstr "Tanysgrifio i flog"
msgid "Successful Freedom of Information requests"
-msgstr ""
+msgstr "Ceisiadau Rhyddid Gwybodaeth llwyddiannus"
msgid "Successful."
-msgstr ""
+msgstr "Llwyddiannus."
msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
-msgstr ""
+msgstr "Awgrymwch sut y gall y ceisydd ddod o hyd i <strong>weddill y wybodaeth </strong>."
msgid "Summary:"
msgstr "Crynodeb:"
msgid "Table of statuses"
-msgstr ""
+msgstr "Tabl o statws"
msgid "Table of varieties"
-msgstr ""
+msgstr "Tabl o fathau"
msgid "Tags"
-msgstr ""
+msgstr "Tagiau"
msgid "Tags (separated by a space):"
-msgstr ""
+msgstr "Tagiau (wedi eu gwahanu gan fwlch):"
msgid "Tags:"
-msgstr ""
+msgstr "Tagiau:"
msgid "Technical details"
-msgstr ""
+msgstr "Manylion technegol"
msgid "Thank you for helping us keep the site tidy!"
-msgstr ""
+msgstr "Diolch i chi am ein helpu ni i gadw'r safle'n daclus!"
msgid "Thank you for making an annotation!"
-msgstr ""
+msgstr "Diolch i chi am wneud anodiad!"
msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
-msgstr ""
+msgstr "Diolch i chi am ymateb i'r cais Rhyddid Gwybodaeth hwn! Mae eich ymateb wedi ei gyhoeddi isod, a dolen at eich ymateb wedi cael ei e-bostio at "
msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
-msgstr ""
+msgstr "Diolch i chi am ddiweddaru statws y cais '<a href=\"{{url}}\">{{info_request_title}}</a>'. Mae ychydig yn rhagor o geisiadau isod i chi eu dosbarthu."
msgid "Thank you for updating this request!"
-msgstr ""
+msgstr "Diolch i chi am ddiweddaru'r cais hwn!"
msgid "Thank you for updating your profile photo"
-msgstr ""
+msgstr "Diolch i chi am ddiweddaru llun eich proffil"
msgid "Thank you! We'll look into what happened and try and fix it up."
-msgstr ""
+msgstr "Diolch yn fawr! Byddwn yn ymchwilio i beth ddigwyddodd ac yn ceisio ei drwsio."
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
-msgstr ""
+msgstr "Diolch am helpu - bydd eich gwaith yn ei wneud yn haws i bawb ddod o hyd i geisiadau llwyddiannus, ac efallai hyd yn oed yn gadael i ni lunio tablau cynghrair ..."
msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
-msgstr ""
+msgstr "Diolch yn fawr iawn - bydd hyn yn helpu eraill i ddod o hyd i bethau defnyddiol. Byddwn hefyd, os bydd ei angen arnoch, yn rhoi cyngor ar beth i'w wneud nesaf am eich ceisiadau."
msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
-msgstr ""
+msgstr "Diolch yn fawr am helpu i gadw popeth<strong>yn daclus a threfnus</strong>. Byddwn hefyd, os bydd ei angen arnoch, yn rhoi cyngor ar beth i'w wneud nesaf am bob un o'ch ceisiadau."
msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
-msgstr ""
+msgstr "Nid yw hynny'n edrych fel cyfeiriad e-bost dilys. Gwiriwch eich bod wedi ei deipio'n gywir."
msgid "The <strong>review has finished</strong> and overall:"
-msgstr ""
+msgstr "Mae'r <strong>adolygiad wedi gorffen</ strong> ac yn gyffredinol:"
msgid "The Freedom of Information Act <strong>does not apply</strong> to"
-msgstr ""
+msgstr "<strong>Nid</strong> yw'r Ddeddf Rhyddid Gwybodaeth yn gymwys i"
msgid "The accounts have been left as they previously were."
-msgstr ""
+msgstr "Mae'r cyfrifon wedi cael eu gadael fel yr oeddent o'r blaen."
msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
-msgstr ""
+msgstr "<strong>Nid</strong> yw'r wybodaeth gan yr awdurdod<small>(efallai eu bod yn dweud pwy gan bwy y mae)"
msgid "The authority only has a <strong>paper copy</strong> of the information."
-msgstr ""
+msgstr "Dim ond <strong>copi papur</strong> o'r wybodaeth sydd gan yr awdurdod."
msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
-msgstr ""
+msgstr "Mae'r awdurdod yn dweud bod <strong>angen cyfeiriad post</strong>, nid dim ond e-bost, er mwyn iddo fod yn gais Rhyddid Gwybodaeth dilys"
msgid "The authority would like to / has <strong>responded by post</strong> to this request."
-msgstr ""
+msgstr "Byddai'r awdurdod yn hoffi / wedi ymateb <strong> drwy'r post</strong> i'r cais hwn."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "Mae dosbarthiad y ceisiadau (ee i ddweud a oeddent yn llwyddiannus neu beidio) yn cael ei wneud â llaw gan ddefnyddwyr a gweinyddwyr y safle, sy'n golygu eu bod yn agored i gamgymeriadau."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
-msgstr ""
+msgstr "Nid yw'r e-bost anfonoch, ar ran {{public_body}}, at {{user}} i ymateb i gais {{law_used_short}} wedi cael ei gyflwyno."
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
-msgstr ""
+msgstr "Mae'r bariau gwall a ddangosir yn gyfyngau hyder 95% ar gyfer y gyfran sylfaenol damcaniaethol (h.y. un y byddech chi'n cael drwy wneud nifer anfeidrol o geisiadau drwy'r safle hwn i'r awdurdod hwnnw). Mewn geiriau eraill, holl geisiadau presennol ac yn y dyfodol i'r awdurdod drwy'r safle hwn yw'r boblogaeth sy'n cael ei samplo, yn hytrach na, dyweder, yr holl geisiadau sydd wedi cael eu gwneud i'r corff cyhoeddus mewn unrhyw fodd."
msgid "The page doesn't exist. Things you can try now:"
-msgstr ""
+msgstr "Nid yw'r dudalen yn bodoli. Pethau y gallwch roi cynnig arnynt yn awr:"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Mae'r canrannau yn cael eu cyfrifo mewn perthynas â chyfanswm nifer y ceisiadau, sy'n cynnwys ceisiadau annilys; mae hyn yn broblem hysbys a fydd yn cael ei gywiro pan caiff fersiwn ddiweddarach ei rhyddhau."
msgid "The public authority does not have the information requested"
-msgstr ""
+msgstr "Nid oes gan yr awdurdod cyhoeddus y wybodaeth y gofynnwyd amdani"
msgid "The public authority would like part of the request explained"
-msgstr ""
+msgstr "Byddai'r awdurdod cyhoeddus yn hoffi cael eglurhad am ran o'r cais"
msgid "The public authority would like to / has responded by post"
-msgstr ""
+msgstr "Byddai'r awdurdod cyhoeddus yn hoffi / wedi ymateb drwy'r post"
msgid "The request has been <strong>refused</strong>"
-msgstr ""
+msgstr "Mae'r cais wedi cael ei <strong>wrthod</strong>"
msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
-msgstr ""
+msgstr "Mae'r cais wedi cael ei ddiweddaru ers i chi lwytho'r dudalen hon yn wreiddiol. Edrychwch i weld a oes unrhyw negeseuon newydd isod ac yna, ceisiwch eto."
msgid "The request is <strong>waiting for clarification</strong>."
-msgstr ""
+msgstr "Mae'r cais yn <strong>aros am eglurhad</strong>."
msgid "The request was <strong>partially successful</strong>."
-msgstr ""
+msgstr "Roedd y cais yn <strong>rhannol lwyddiannus</strong>."
msgid "The request was <strong>refused</strong> by"
-msgstr ""
+msgstr "<strong>Gwrthodwyd</strong> y cais gan"
msgid "The request was <strong>successful</strong>."
-msgstr ""
+msgstr "Roedd y cais yn <strong>llwyddiannus</strong>."
msgid "The request was refused by the public authority"
-msgstr ""
+msgstr "Gwrthodwyd y cais gan yr awdurdod cyhoeddus"
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Mae'r cais yr ydych wedi ceisio ei weld wedi cael ei ddileu. Mae amryw o resymau pam y gallem fod wedi gwneud hyn. Mae'n ddrwg gennym na allwn fod yn fwy penodol yma. <a href=\"{{url}}\">Cysylltwch â ni</a> os oes gennych unrhyw gwestiynau."
msgid "The requester has abandoned this request for some reason"
-msgstr ""
+msgstr "Mae'r ceisydd wedi rhoi'r gorau i'r cais hwn am ryw reswm"
msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
-msgstr ""
+msgstr "Mae'r ymateb i'ch cais <strong>wedi cael ei ohirio</strong>. Gallwch ddweud, yn ôl y gyfraith, y dylai'r awdurdod wedi ymateb <strong>yn brydlon</strong>fel rheol a"
msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
-msgstr ""
+msgstr "Mae'r ymateb i'ch cais yn <strong>hwyr iawn</strong>. Gallwch ddweud, yn ôl y gyfraith, ymhob achos, y dylai'r awdurdod fod wedi ymateb erbyn hyn"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
-msgstr ""
+msgstr "Mae'r mynegai chwilio ar hyn o bryd all-lein, fel na allwn ddangos geisiadau Rhyddid Gwybodaeth sydd wedi cael eu gwneud i'r awdurdod hwn."
msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
-msgstr ""
+msgstr "Mae'r mynegai chwilio ar hyn o bryd all-lein, fel na allwn ddangos y ceisiadau Rhyddid Gwybodaeth y mae'r person yma wedi gwneud."
msgid "The {{site_name}} team."
-msgstr ""
+msgstr "Tîm {{site_name}}."
msgid "Then you can cancel the alert."
-msgstr ""
+msgstr "Yna gallwch ganslo'r rhybudd."
msgid "Then you can cancel the alerts."
-msgstr ""
+msgstr "Yna gallwch ganslo'r rhybuddion."
msgid "Then you can change your email address used on {{site_name}}"
-msgstr ""
+msgstr "Yna gallwch newid eich cyfeiriad e-bost a ddefnyddir ar {{site_name}}"
msgid "Then you can change your password on {{site_name}}"
-msgstr ""
+msgstr "Yna gallwch newid eich cyfrinair ar {{site_name}}"
msgid "Then you can classify the FOI response you have got from "
-msgstr ""
+msgstr "Yna gallwch ddosbarthu'r ymateb Rhyddid Gwybodaeth yr ydych wedi'i gael gan "
msgid "Then you can download a zip file of {{info_request_title}}."
-msgstr ""
+msgstr "Yna gallwch lawrlwytho ffeil zip o {{info_request_title}}."
msgid "Then you can log into the administrative interface"
-msgstr ""
+msgstr "Yna gallwch logio i mewn i'r rhyngwyneb gweinyddol"
msgid "Then you can play the request categorisation game."
-msgstr ""
+msgstr "Yna gallwch chi chwarae y gêm categoreiddio cais."
msgid "Then you can report the request '{{title}}'"
-msgstr ""
+msgstr "Yna gallwch roi gwybod am y cais '{{title}}'"
msgid "Then you can send a message to "
-msgstr ""
+msgstr "Yna, gallwch anfon neges i "
msgid "Then you can sign in to {{site_name}}"
-msgstr ""
+msgstr "Yna gallwch lofnodi i mewn i {{site_name}}"
msgid "Then you can update the status of your request to "
-msgstr ""
+msgstr "Yna gallwch ddiweddaru statws eich cais i "
msgid "Then you can upload an FOI response. "
-msgstr ""
+msgstr "Yna gallwch lwytho ymateb Rhyddid Gwybodaeth i fyny. "
msgid "Then you can write follow up message to "
-msgstr ""
+msgstr "Yna, gallwch ysgrifennu neges ddilynol i "
msgid "Then you can write your reply to "
-msgstr ""
+msgstr "Yna, gallwch ysgrifennu eich ateb i "
msgid "Then you will be following all new FOI requests."
-msgstr ""
+msgstr "Yna byddwch yn dilyn yr holl geisiadau Rhyddid Gwybodaeth newydd."
msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd '{{user_name}}' yn gofyn am rywbeth neu yn cael ymateb."
msgid "Then you will be notified whenever a new request or response matches your search."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd cais neu ymateb newydd yn cyfateb â'ch chwiliad."
msgid "Then you will be notified whenever an FOI request succeeds."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd cais Rhyddid Gwybodaeth yn llwyddo."
msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd rhywun yn gofyn am rywbeth gan, neu'n cael ymateb gan, '{{public_body_name}}'."
msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
-msgstr ""
+msgstr "Yna byddwch yn cael diweddariad pryd bynnag y bydd cais '{{request_title}}' yn cael ei ddiweddaru."
msgid "Then you'll be allowed to send FOI requests."
-msgstr ""
+msgstr "Yna byddwch yn cael anfon ceisiadau Rhyddid Gwybodaeth."
msgid "Then your FOI request to {{public_body_name}} will be sent."
-msgstr ""
+msgstr "Yna bydd eich cais Rhyddid Gwybodaeth i {{public_body_name}} yn cael ei anfon."
msgid "Then your annotation to {{info_request_title}} will be posted."
-msgstr ""
+msgstr "Yna eich anodiad i {{info_request_title}} yn cael ei bostio."
msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
-msgstr ""
+msgstr "Mae {{count}} anodiad newydd ar eich cais {{info_request}}. Dilynwch y ddolen hon i weld beth ysgrifennwyd."
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Mae gan <strong>fwy nag un person</strong> sy'n defnyddio'r safle hwn yr enw hwn Mae un ohonynt yn cael ei ddangos isod. Efallai eich bod wedi golygu un gwahanol:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
-msgstr ""
+msgstr "Mae cyfyngiad ar y nifer o geisiadau y gallwch eu gwneud mewn diwrnod, oherwydd nid ydym am i awdurdodau cyhoeddus gael eu peledu gyda nifer fawr o geisiadau amhriodol. Os ydych yn teimlo bod gennych reswm da dros ofyn i'r terfyn gael ei godi yn eich achos chi, <a href='{{help_contact_path}}'>cysylltwch â ni</a>."
msgid "There is {{count}} person following this request"
msgid_plural "There are {{count}} people following this request"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Mae {{count}} person yn dilyn y cais hwn"
+msgstr[1] "Mae {{count}} person yn dilyn y cais hwn"
+msgstr[2] "Mae {{count}} person yn dilyn y cais hwn"
+msgstr[3] "Mae {{count}} person yn dilyn y cais hwn"
msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
-msgstr ""
+msgstr "Roedd <strong>gwall cyflenwi</strong> neu rywbeth tebyg, sy angen ei drwsio gan dîm {{site_name}}."
msgid "There was an error with the words you entered, please try again."
-msgstr ""
+msgstr "Roedd gwall gyda'r geiriau a roddoch, ceisiwch eto os gwelwch yn dda."
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "Ni chyfrifwyd data ar gyfer y graff hwn eto."
msgid "There were no requests matching your query."
-msgstr ""
+msgstr "Nid oedd unrhyw geisiadau yn cyfateb i'ch ymholiad."
msgid "There were no results matching your query."
-msgstr ""
+msgstr "Ni chafwyd canlyniadau sy'n cyfateb i'ch ymholiad."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Mae'r graffiau hyn wedi eu hysbrydoli yn rhannol gan <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">rai ystadegau a gynhyrchodd Mark Goodge ar gyfer WhatDoTheyKnow</a>, felly mae diolch yn ddyledus iddo."
msgid "They are going to reply <strong>by post</strong>"
-msgstr ""
+msgstr "Maent yn mynd i ateb <strong>drwy'r post</strong>"
msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
-msgstr ""
+msgstr "<strong>Nid</strong> yw'r wybodaeth ganddynt <small>(efallai eu bod yn dweud pwy gan bwy y mae)</small>"
msgid "They have been given the following explanation:"
-msgstr ""
+msgstr "Maent wedi cael yr esboniad canlynol:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr ""
+msgstr "Nid ydynt wedi ymateb i'ch cais {{title}} {{law_used_short}} yn brydlon, fel sy'n ofynnol fel arfer yn ôl y gyfraith"
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
-msgstr ""
+msgstr "Nid ydynt wedi ateb i'ch cais {{teitl}} {{law_used_short}}, fel sy'n ofynnol yn ôl y gyfraith"
msgid "Things to do with this request"
-msgstr ""
+msgstr "Pethau i'w gwneud gyda'r cais hwn"
msgid "Things you're following"
-msgstr ""
+msgstr "Pethau rydych yn eu dilyn"
msgid "This authority no longer exists, so you cannot make a request to it."
-msgstr ""
+msgstr "Nid yw'r awdurdod hwn yn bodoli bellach, felly ni allwch wneud cais iddo."
msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
-msgstr ""
+msgstr "Mae hyn yn cwmpasu sbectrwm eang iawn o wybodaeth am gyflwr yr <strong> amgylchedd naturiol ac adeiledig</strong>, megis:"
msgid "This external request has been hidden"
-msgstr ""
+msgstr "Mae'r cais allanol wedi cael ei guddio"
msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
-msgstr ""
+msgstr "Mae hwn yn fersiwn destun plaen y cais Rhyddid Gwybodaeth \"{{request_title}}\". Mae'r fersiwn lawn ddiweddaraf ar gael ar-lein yn {{full_url}} "
msgid "This is an HTML version of an attachment to the Freedom of Information request"
-msgstr ""
+msgstr "Mae hwn yn fersiwn HTML o atodiad i'r cais Rhyddid Gwybodaeth"
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
-msgstr ""
+msgstr "Mae hyn oherwydd bod {{title}} yn hen gais sydd wedi ei nodi i beidio â derbyn ymatebion mwyach."
msgid "This is the first version."
-msgstr ""
+msgstr "Dyma'r fersiwn gyntaf."
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
-msgstr ""
+msgstr "Dyma'ch eich cais eich hun, felly byddwch yn cael e-bost yn awtomatig pan fydd ymatebion newydd yn cyrraedd."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Mae'r neges hon wedi cael ei chuddio."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Mae'r neges hon wedi cael ei chuddio. Mae yna amryw o resymau pam y gallem fod wedi gwneud hyn, mae'n ddrwg gennym na allwn fod yn fwy penodol yma."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "'Cudd' yw amlygrwydd y cais hwn. Gallwch ond ei gweld oherwydd eich bod wedi mewngofnodi fel arch-ddefnyddiwr."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "'Cudd' yw amlygrwydd y cais hwn. {{reason}} Gallwch ond ei gweld oherwydd eich bod wedi mewngofnodi fel arch-ddefnyddiwr."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Mae'r cais hwn wedi ei guddio, fel mai dim ond chi y ceisydd all ei weld. <a href=\"{{url}}\">cysylltwch â ni</a> os nad ydych yn siŵr pam."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Mae'r cais hwn wedi ei guddio, fel mai dim ond chi y ceisydd all ei weld. {{reason}} "
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Mae'r dudalen hon o ystadegau corff cyhoeddus yn arbrofol ar hyn o bryd, felly mae rhai cafeatau y dylid eu cadw mewn cof:"
msgid "This particular request is finished:"
-msgstr ""
+msgstr "Mae'r cais penodol hwn wedi gorffen:"
msgid "This person has made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Nid yw'r person hwn wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth drwy ddefnyddio'r wefan hon."
msgid "This person's annotations"
-msgstr ""
+msgstr "Anodiadau'r person hwn"
msgid "This person's {{count}} Freedom of Information request"
msgid_plural "This person's {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "{{count}} cais Rhyddid Gwybodaeth y person hwn "
+msgstr[1] "{{count}} cais Rhyddid Gwybodaeth y person hwn"
+msgstr[2] "{{count}} cais Rhyddid Gwybodaeth y person hwn"
+msgstr[3] "{{count}} cais Rhyddid Gwybodaeth y person hwn"
msgid "This person's {{count}} annotation"
msgid_plural "This person's {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "{{count}} anodiad y person hwn"
+msgstr[1] "{{count}} anodiad y person hwn"
+msgstr[2] "{{count}} anodiad y person hwn"
+msgstr[3] "{{count}} anodiad y person hwn"
msgid "This request <strong>requires administrator attention</strong>"
-msgstr ""
+msgstr "Mae <strong>angen sylw gweinyddwr</strong> ar y cais hwn"
msgid "This request has already been reported for administrator attention"
-msgstr ""
+msgstr "Mae'r cais eisoes wedi cael ei adrodd i gael sylw gweinyddwr"
msgid "This request has an <strong>unknown status</strong>."
-msgstr ""
+msgstr "Mae gan y cais hwn <strong<statws anhysbys</strong>."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
-msgstr ""
+msgstr "Mae'r cais hwn <strong>wedi cael ei guddio</strong> o'r wefan oherwydd i weinyddwr ystyried nad yw'n gais Rhyddid Gwybodaeth."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
-msgstr ""
+msgstr "Mae'r cais hwn <strong>wedi cael ei guddio</strong> o'r wefan oherwydd i weinyddwr ystyried ei fod yn flinderus."
msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
-msgstr ""
+msgstr "Mae adroddiad am y cais hwn <strong<wedi cael ei anfon<strong> gan ddweud bod angen sylw gweinyddwr arno (efallai am ei fod yn flinderus, neu'n gais am wybodaeth bersonol)"
msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
-msgstr ""
+msgstr "Mae'r cais hwn <strong>wedi cael ei dynnu'n ôl</strong> gan y sawl a'i wnaeth. Efallai y bydd esboniad yn yr ohebiaeth isod."
msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Mae'r cais wedi cael ei farcio i'w adolygu gan weinyddwyr y wefan, nad ydynt wedi ei guddio ar hyn o bryd. Os ydych yn credu y dylid ei guddio, <a href=\"{{url}}\">cysylltwch â ni</a>."
msgid "This request has been reported for administrator attention"
-msgstr ""
+msgstr "Mae adroddiad am y cais hwn wedi cael ei anfon, at sylw gweinyddwr"
msgid "This request has been set by an administrator to \"allow new responses from nobody\""
-msgstr ""
+msgstr "Mae'r cais hwn wedi cael ei osod gan weinyddwr fel \"na chaniateir ymatebion newydd gan neb\""
msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
-msgstr ""
+msgstr "Mae'r cais hwn wedi derbyn ymateb anarferol, ac mae <strong>angen sylw</strong> arno gan dîm {{site_name}}."
msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
-msgstr ""
+msgstr "'Cudd' yw amlygrwydd y cais hwn. Gallwch ond ei weld oherwydd eich bod wedi mewngofnodi fel arch-ddefnyddiwr."
msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Mae'r cais hwn wedi ei guddio, fel mai dim ond y ceisydd all ei weld. <a href=\"{{url}}\">cysylltwch â ni</a> os nad ydych yn siŵr pam."
msgid "This request is still in progress:"
-msgstr ""
+msgstr "Mae'r cais hwn yn dal i fod ar y gweill:"
msgid "This request requires administrator attention"
-msgstr ""
+msgstr "Mae angen sylw gweinyddwr ar y cais hwn"
msgid "This request was not made via {{site_name}}"
-msgstr ""
+msgstr "Ni wnaed y cais hwn drwy {{site_name}}"
msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
-msgstr ""
+msgstr "Mae'r tabl hwn yn dangos manylion technegol y digwyddiadau mewnol a ddigwyddodd i'r cais hwn ar {{site_name}}. Gallai hwn gael ei ddefnyddio i gynhyrchu gwybodaeth am ba mor gyflym y mae awdurdodau yn ymateb i geisiadau, nifer y ceisiadau sy'n gofyn am ymateb drwy'r post a llawer mwy."
msgid "This user has been banned from {{site_name}} "
-msgstr ""
+msgstr "Mae'r defnyddiwr hwn wedi ei wahardd o {{site_name}} "
msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
-msgstr ""
+msgstr "Nid oedd hyn yn bosibl gan fod cyfrif sydd eisoes yn defnyddio'r cyfeiriad e-bost {{email}}."
msgid "To cancel these alerts"
-msgstr ""
+msgstr "I ganslo'r rhybuddion hyn"
msgid "To cancel this alert"
-msgstr ""
+msgstr "I ddileu'r rhybudd hwn"
msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
-msgstr ""
+msgstr "I barhau, mae angen i chi fewngofnodi neu agor cyfrif newydd. Yn anffodus,roedd problem dechnegol wrth geisio gwneud hyn."
msgid "To change your email address used on {{site_name}}"
-msgstr ""
+msgstr "I newid eich cyfeiriad e-bost a ddefnyddir ar {{site_name}}"
msgid "To classify the response to this FOI request"
-msgstr ""
+msgstr "I ddosbarthu'r ymateb i'r cais Rhyddid Gwybodaeth hwn"
msgid "To do that please send a private email to "
-msgstr ""
+msgstr "I wneud hynny, anfonwch e-bost preifat i "
msgid "To do this, first click on the link below."
-msgstr ""
+msgstr "I wneud hyn, cliciwch yn gyntaf ar y ddolen isod."
msgid "To download the zip file"
-msgstr ""
+msgstr "I lawrlwytho'r ffeil zip"
msgid "To follow all successful requests"
-msgstr ""
+msgstr "I ddilyn yr holl geisiadau llwyddiannus"
msgid "To follow new requests"
-msgstr ""
+msgstr "I ddilyn ceisiadau newydd"
msgid "To follow requests and responses matching your search"
-msgstr ""
+msgstr "I ddilyn ceisiadau ac ymatebion sy'n gyfateb i'ch chwiliad"
msgid "To follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "I ddilyn ceisiadau gan '{{user_name}'"
msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
-msgstr ""
+msgstr "I ddilyn ceisiadau a wnaed gan ddefnyddio {{site_name}} i'r awdurdod cyhoeddus '{{public_body_name}} '"
msgid "To follow the request '{{request_title}}'"
-msgstr ""
+msgstr "I ddilyn y cais '{{request_title}}'"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr ""
+msgstr "I'n helpu ni i gadw'r wefan yn daclus, mae rhywun arall wedi diweddaru statws y cais {{law_used_full}} {{teitl}} a wnaethoch i {{public_body}} , i \"{{display_status}}\" Os ydych yn anghytuno â'u categoreiddio, diweddarwch y statws unwaith eto eich hun i'r hyn y credwch i fod yn fwy cywir."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "I adael i bawb wybod, dilynwch y ddolen hon ac yna dewiswch y blwch priodol."
msgid "To log into the administrative interface"
-msgstr ""
+msgstr "I fewngofnodi i'r rhyngwyneb gweinyddol"
msgid "To play the request categorisation game"
-msgstr ""
+msgstr "I chwarae'r gêm categoreiddio cais"
msgid "To post your annotation"
-msgstr ""
+msgstr "I bostio eich anodiad"
msgid "To reply to "
-msgstr ""
+msgstr "I ymateb i "
msgid "To report this request"
-msgstr ""
+msgstr "I roi gwybod am y cais hwn"
msgid "To send a follow up message to "
-msgstr ""
+msgstr "I anfon neges ddilynol i "
msgid "To send a message to "
-msgstr ""
+msgstr "I anfon neges i "
msgid "To send your FOI request"
-msgstr ""
+msgstr "I anfon eich cais Rhyddid Gwybodaeth"
msgid "To update the status of this FOI request"
-msgstr ""
+msgstr "I roi'r wybodaeth ddiweddaraf i statws y cais Rhyddid Gwybodaeth hwn"
msgid "To upload a response, you must be logged in using an email address from "
-msgstr ""
+msgstr "I lwytho ymateb i fyny, rhaid i chi fod wedi mewngofnodi gan ddefnyddio cyfeiriad e-bost gan "
msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
-msgstr ""
+msgstr "I ddefnyddio'r chwiliad uwch, cyfunwch ymadroddion a labeli fel y'i disgrifir yn yr awgrymiadau chwilio isod."
msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
-msgstr ""
+msgstr "I weld y cyfeiriad e-bost yr ydym yn ei ddefnyddio i anfon ceisiadau Rhyddid Gwybodaeth i {{public_body_name}}, nodwch y geiriau hyn."
msgid "To view the response, click on the link below."
-msgstr ""
+msgstr "I weld yr ymateb, cliciwch ar y ddolen isod."
msgid "To {{public_body_link_absolute}}"
-msgstr ""
+msgstr "I {{public_body_link_absolute}} "
msgid "To:"
msgstr "I:"
msgid "Today"
-msgstr ""
+msgstr "Heddiw"
msgid "Too many requests"
-msgstr ""
+msgstr "Gormod o geisiadau"
msgid "Top search results:"
-msgstr ""
+msgstr "Y canlyniadau chwilio uchaf:"
msgid "Track thing"
-msgstr ""
+msgstr "Traciwch hwn"
msgid "Track this person"
-msgstr ""
+msgstr "Traciwch y person hwn"
msgid "Track this search"
-msgstr ""
+msgstr "Traciwch y chwiliad hwn"
msgid "TrackThing|Track medium"
-msgstr ""
+msgstr "TrackThing|Traciwch y cyfrwng"
msgid "TrackThing|Track query"
-msgstr ""
+msgstr "TrackThing|Traciwch ymholiad"
msgid "TrackThing|Track type"
-msgstr ""
+msgstr "TrackThing|Math o drac"
msgid "Turn off email alerts"
-msgstr ""
+msgstr "Diffoddwch rybuddion e-bost"
msgid "Tweet this request"
-msgstr ""
+msgstr "Trydarwch y cais hwn"
msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
-msgstr ""
+msgstr "Teipiwch <strong><code> 01/01/2008..14/01/2008 </code></strong> i ddangos yn unig bethau a ddigwyddodd yn ystod dwy wythnos gyntaf mis Ionawr."
msgid "URL name can't be blank"
-msgstr ""
+msgstr "Ni all enw URL fod yn wag"
msgid "Unable to change email address on {{site_name}}"
-msgstr ""
+msgstr "Yn methu newid cyfeiriad e-bost ar {{site_name}}"
msgid "Unable to send a reply to {{username}}"
-msgstr ""
+msgstr "Yn methu anfon ateb i {{username}}"
msgid "Unable to send follow up message to {{username}}"
-msgstr ""
+msgstr "Yn methu anfon neges ddilynol i {{username}}"
msgid "Unexpected search result type"
-msgstr ""
+msgstr "Canlyniad chwiliad o fath annisgwyl"
msgid "Unexpected search result type "
-msgstr ""
+msgstr "Canlyniad chwiliad o fath annisgwyl "
msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
-msgstr ""
+msgstr "Yn anffodus, nid ydym yn gwybod y cyfeiriad ebost Rhyddid Gwybodaeth i'r awdurdod hwnnw, felly ni allwn ddilysu hwn. <a href=\"{{url}}\">cysylltwch â ni</a> os gwelwch yn dda i'w ddatrys."
msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
-msgstr ""
+msgstr "Yn anffodus, nid oes gennym cyfeiriad {{info_request_law_used_full}} sy'n gweithio ar gyfer"
msgid "Unknown"
-msgstr ""
+msgstr "Anhysbys"
msgid "Unsubscribe"
-msgstr ""
+msgstr "Dad-danysgrifio"
msgid "Unusual response."
-msgstr ""
+msgstr "Ymateb anarferol."
msgid "Update the status of this request"
-msgstr ""
+msgstr "Diweddaru statws y cais hwn"
msgid "Update the status of your request to "
-msgstr ""
+msgstr "Diweddaru statws eich cais i "
msgid "Upload FOI response"
-msgstr ""
+msgstr "Llwytho ymateb Rhyddid Gwybodaeth i fyny"
msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
-msgstr ""
+msgstr "Defnyddiwch OR (mewn prif lythrennau) lle nad oes ots gennych pa air, ee <code>commons OR lords</code></strong>"
msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
-msgstr ""
+msgstr "Defnyddiwch ddyfynodau pan fyddwch am ddod o hyd i'r union ymadrodd, ee <strong> <code>\"Cardiff City Council\"</code></strong>"
msgid "User"
-msgstr ""
+msgstr "Defnyddiwr"
msgid "User info request sent alert"
-msgstr ""
+msgstr "Rhybudd i gais gwybodaeth defnyddiwr gael ei anfon"
msgid "User – {{name}}"
-msgstr ""
+msgstr "Defnyddiwr - {{name}}"
msgid "UserInfoRequestSentAlert|Alert type"
-msgstr ""
+msgstr "UserInfoRequestSentAlert|Math o rybudd"
msgid "User|About me"
-msgstr ""
-
-msgid "User|Address"
-msgstr ""
+msgstr "User|Amdanaf i"
msgid "User|Admin level"
-msgstr ""
+msgstr "User|Lefel weinyddu"
msgid "User|Ban text"
-msgstr ""
-
-msgid "User|Dob"
-msgstr ""
+msgstr "User|Gwahardd testun"
msgid "User|Email"
-msgstr ""
+msgstr "User|E-bost"
msgid "User|Email bounce message"
-msgstr ""
+msgstr "User|Neges fownsio e-bost"
msgid "User|Email bounced at"
-msgstr ""
+msgstr "User|Bownsiodd e-bost bownsio ar"
msgid "User|Email confirmed"
-msgstr ""
+msgstr "User|Cadarhawyd e-bost"
msgid "User|Hashed password"
-msgstr ""
+msgstr "User|Cyfrinair stwnsh"
msgid "User|Last daily track email"
-msgstr ""
+msgstr "User|Trac e-bost dyddiol olaf"
msgid "User|Locale"
-msgstr ""
+msgstr "User|Locale"
msgid "User|Name"
-msgstr ""
+msgstr "User|Enw"
msgid "User|No limit"
-msgstr ""
+msgstr "User|Dim cyfyngiad"
msgid "User|Receive email alerts"
-msgstr ""
+msgstr "User|Derbyn rhybuddion e-bost"
msgid "User|Salt"
-msgstr ""
+msgstr "User|Salt"
msgid "User|Url name"
-msgstr ""
+msgstr "User|Enw Url"
msgid "Version {{version}}"
-msgstr ""
+msgstr "Fersiwn {{version}}"
msgid "View FOI email address"
-msgstr ""
+msgstr "Gweld cyfeiriad e-bost i gais Rhyddid Gwybodaeth "
msgid "View FOI email address for '{{public_body_name}}'"
-msgstr ""
+msgstr "Gweld cyfeiriad e-bost Rhyddid Gwybodaeth ar gyfer '{{public_body_name}}'"
msgid "View FOI email address for {{public_body_name}}"
-msgstr ""
+msgstr "Gweld cyfeiriad e-bost Rhyddid Gwybodaeth ar gyfer '{{public_body_name}}'"
msgid "View Freedom of Information requests made by {{user_name}}:"
-msgstr ""
+msgstr "Gweld ceisiadau Rhyddid Gwybodaeth a wnaed gan {{user_name}}:"
msgid "View and search requests"
-msgstr ""
+msgstr "Gweld a chwilio ceisiadau"
msgid "View authorities"
msgstr "Gweld yr awdurdodau"
@@ -2810,34 +2822,34 @@ msgid "View requests"
msgstr "Gweld ceisiadau"
msgid "Waiting clarification."
-msgstr ""
+msgstr "Yn disgwyl eglurhad."
msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
-msgstr ""
+msgstr "Yn disgwyl am <strong>adolygiad mewnol</strong> gan {{public_body_link}} o'u triniaeth o'r cais hwn."
msgid "Waiting for the public authority to complete an internal review of their handling of the request"
-msgstr ""
+msgstr "Yn disgwyl i'r awdurdod cyhoeddus gwblhau adolygiad mewnol o'u triniaeth o'r cais"
msgid "Waiting for the public authority to reply"
-msgstr ""
+msgstr "Yn aros i'r awdurdod cyhoeddus ymateb"
msgid "Was the response you got to your FOI request any good?"
-msgstr ""
+msgstr "A oedd yr ymateb a gawsoch i'ch cais rhyddid gwybodaeth o ddefnydd?"
msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Rydym yn ystyried nad yw'n gais Rhyddid Gwybodaeth dilys, ac felly wedi ei guddio oddi wrth ddefnyddwyr eraill."
msgid "We consider it to be vexatious, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Rydym yn ystyried ei fod yn flinderus, ac felly wedi ei guddio oddi wrth ddefnyddwyr eraill."
msgid "We do not have a working request email address for this authority."
-msgstr ""
+msgstr "Nid oes gennym gyfeiriad e-bost sy'n gweithio i wneud cais i'r awdurdod hwn."
msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
-msgstr ""
+msgstr "Nid oes gennym gyfeiriad {{law_used_full}} sy'n gweithio ar gyfer {{public_body_name}}."
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
-msgstr ""
+msgstr "Nid ydym yn gwybod a yw'r ymateb mwyaf diweddar i'r cais hwn yn cynnwys gwybodaeth neuai peidio - os chi yw{{user_link}} <a href = \"{{url}}\">mewngofnodwch </a> a gadael i bawb wybod."
msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
msgstr "Ni fyddwn yn datgelu eich cyfeiriad e-bost i neb oni bai eich bod chi neu'r gyfraith yn dweud wrthym i wneud (<a href=\"{{url}}\">manylion</a>)."
@@ -2849,136 +2861,136 @@ msgid "We will not reveal your email addresses to anybody unless you\\nor the la
msgstr "Ni fyddwn yn datgelu eich cyfeiriad e-bost i neb oni bai eich bod chi neu'r gyfraith yn dweud wrthym i wneud."
msgid "We're waiting for"
-msgstr ""
+msgstr "Rydym yn aros am"
msgid "We're waiting for someone to read"
-msgstr ""
+msgstr "Rydym yn aros i rywun ddarllen"
msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
-msgstr ""
+msgstr "Rydyn ni wedi anfon e-bost i'ch cyfeiriad e-bost newydd. Bydd angen i chi glicio ar y ddolen yn cyn y bydd eich cyfeiriad e-bost yn cael ei newid."
msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
-msgstr ""
+msgstr "Rydyn ni wedi anfon e-bost atoch, a bydd angen i chi glicio ar y ddolen ynddo cyn y gallwch barhau."
msgid "We've sent you an email, click the link in it, then you can change your password."
-msgstr ""
+msgstr "Rydyn ni wedi anfon e-bost atoch, cliciwch ar y ddolen ynddo, yna gallwch newid eich cyfrinair."
msgid "What are you doing?"
-msgstr ""
+msgstr "Beth ydych chi'n ei wneud?"
msgid "What best describes the status of this request now?"
-msgstr ""
+msgstr "Beth sy'n disgrifio orau statws y cais hwn nawr?"
msgid "What information has been released?"
-msgstr ""
+msgstr "Pa wybodaeth sydd wedi cael ei rhyddhau?"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Pa wybodaeth a ofynnwyd amdani?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
-msgstr ""
+msgstr "Pan fyddwch yn cyrraedd yno, diweddarwch y statws i ddweud a yw'r ymateb yn cynnwys unrhyw wybodaeth ddefnyddiol."
msgid "When you receive the paper response, please help\\n others find out what it says:"
-msgstr ""
+msgstr "Pan fyddwch yn derbyn yr ymateb papur, helpwch eraill i gael gwybod beth y mae'n ei ddweud:"
msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
-msgstr ""
+msgstr "Pan fyddwch chi wedi gorffen, <strong>dewch yn ôl yma</strong>, <a href=\"{{url}}\"> ail-lwytho'r dudalen hon </ a> a ffeilio eich cais newydd."
msgid "Which of these is happening?"
-msgstr ""
+msgstr "Pa un o'r rhain sy'n digwydd?"
msgid "Who can I request information from?"
-msgstr ""
+msgstr "Gan bwy y gallaf ofyn cael y wybodaeth?"
msgid "Withdrawn by the requester."
-msgstr ""
+msgstr "Fe'i tynnwyd yn ôl gan y ceisydd."
msgid "Wk"
-msgstr ""
+msgstr "Wythnos"
msgid "Would you like to see a website like this in your country?"
-msgstr ""
+msgstr "A fyddech yn hoffi gweld gwefan fel hon yn eich gwlad?"
msgid "Write a reply"
-msgstr ""
+msgstr "Ysgrifennwch ateb"
msgid "Write a reply to "
-msgstr ""
+msgstr "Ysgrifennwch ateb i "
msgid "Write your FOI follow up message to "
-msgstr ""
+msgstr "Ysgrifennwch eich neges Rhyddid Gwybodaeth ddilynol i "
msgid "Write your request in <strong>simple, precise language</strong>."
msgstr "Ysgrifennwch eich cais mewn <strong>iaith syml, gryno</strong>."
msgid "You"
-msgstr ""
+msgstr "Chi"
msgid "You are already following new requests"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn ceisiadau newydd"
msgid "You are already following requests to {{public_body_name}}"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn ceisiadau i {{public_body_name}}"
msgid "You are already following things matching this search"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn pethau sy'n cyfateb i'r chwiliad hwn"
msgid "You are already following this person"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn person hwn"
msgid "You are already following this request"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn cais hwn"
msgid "You are already following updates about {{track_description}}"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn diweddariadau am {{track_description}} "
msgid "You are currently receiving notification of new activity on your wall by email."
-msgstr ""
+msgstr "Ar hyn o bryd yr ydych yn derbyn hysbysiad o weithgarwch newydd ar eich wal drwy e-bost."
msgid "You are following all new successful responses"
-msgstr ""
+msgstr "Rydych yn dilyn yr holl ymatebion llwyddiannus newydd "
msgid "You are no longer following {{track_description}}."
-msgstr ""
+msgstr "Nid ydych chi bellach yn dilyn {{track_description}} "
msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
-msgstr ""
+msgstr "Yr ydych yn awr yn <a href=\"{{wall_url_user}}\">dilyn</a> diweddariadau am {{track_description}} "
msgid "You can <strong>complain</strong> by"
-msgstr ""
+msgstr "Gallwch <strong>gwyno</strong> drwy"
msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
-msgstr ""
+msgstr "Gallwch newid pa geisiadau a defnyddwyr rydych yn dilyn ar <a href=\"{{profile_url}}\"> eich tudalen broffil</a>."
msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
-msgstr ""
+msgstr "Gallwch gael y dudalen hon ar ffurf gyfrifiadurol-darllenadwy fel rhan o'r prif dudalen JSON am y cais. Gweler <a href=\"{{api_path}}\">dogfennaeth yr API</a>."
msgid "You can only request information about the environment from this authority."
-msgstr ""
+msgstr "Ceisio gwybodaeth am yr amgylchedd yn unig y gallwch ei wneud gan yr awdurdod hwn."
msgid "You have a new response to the {{law_used_full}} request "
-msgstr ""
+msgstr "Mae gennych ymateb newydd i'r cais {{law_used_full}} "
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
-msgstr ""
+msgstr "Rydych wedi dod o hyd i fyg. <a href=\"{{contact_url}}\">Cysylltwch â ni </a> i ddweud wrthym am y broblem"
msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
-msgstr ""
+msgstr "Rydych chi wedi cyrraedd y terfyn cyfradd ar geisiadau newydd. Fel arfer cyfyngir defnyddwyr i {{max_requests_per_user_per_day}} cais mewn unrhyw gyfnod treigl 24-awr. Byddwch yn gallu gwneud cais arall ymhen {{can_make_another_request}}."
msgid "You have made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Nid ydych wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth drwy ddefnyddio'r wefan hon."
msgid "You have now changed the text about you on your profile."
-msgstr ""
+msgstr "Rydych yn awr wedi newid y testun amdanoch chi ar eich proffil."
msgid "You have now changed your email address used on {{site_name}}"
-msgstr ""
+msgstr "Rydych bellach wedi newid eich cyfeiriad e-bost a ddefnyddir ar {{site_name}}"
msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
-msgstr ""
+msgstr "Rydych newydd geisio i gofrestru ar {{site_name}}, er bod gennych gyfrif eisoes. Mae'ch enw a'ch cyfrinair wedi eu gadael fel yr oedden. Cliciwch ar y ddolen isod."
msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
-msgstr ""
+msgstr "Rydych yn gwybod beth achosodd y gwall, a gallwch <strong>awgrymu datrrysiad</ strong>, fel cyfeiriad e-bost sy'n gweithio."
msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
msgstr ""
@@ -3203,7 +3215,7 @@ msgid "at"
msgstr ""
msgid "authorities"
-msgstr ""
+msgstr "awdurdodau"
msgid "awaiting a response"
msgstr ""
@@ -3230,7 +3242,7 @@ msgid "by {{user_link_absolute}}"
msgstr ""
msgid "comments"
-msgstr ""
+msgstr "sylwadau"
msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
msgstr ""
@@ -3320,7 +3332,7 @@ msgid "requesting an internal review"
msgstr ""
msgid "requests"
-msgstr ""
+msgstr "ceisiadau"
msgid "requests which are {{list_of_statuses}}"
msgstr ""
@@ -3370,7 +3382,7 @@ msgid "the requester"
msgstr ""
msgid "the {{site_name}} team"
-msgstr ""
+msgstr "tîm {{site_name}}"
msgid "to read"
msgstr ""
@@ -3449,10 +3461,7 @@ msgid "{{info_request_user_name}} only:"
msgstr ""
msgid "{{law_used_full}} request - {{title}}"
-msgstr ""
-
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
+msgstr "Cais {{law_used_full}} - {{title}}"
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
@@ -3473,7 +3482,7 @@ msgid "{{public_body_link}} was sent a request about"
msgstr ""
msgid "{{public_body_name}} only:"
-msgstr ""
+msgstr "{{public_body_name}} yn unig:"
msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
msgstr ""
diff --git a/locale/de/app.po b/locale/de/app.po
index e311585e9..71fdfefad 100644
--- a/locale/de/app.po
+++ b/locale/de/app.po
@@ -11,10 +11,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/alaveteli/language/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -849,15 +849,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Dieser Anfrage folgen"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Follow-up"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Nachfrage durch Anfragensteller gesendet"
msgid "Follow up messages to existing requests are sent to "
msgstr "Nachfragen bzgl. bestehender anfragen werden weitergeleitet an:"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Nachfragen und Antworten auf diese Anfrage wurden gestoppt, um Spam vorzubeugen. Bitte <a href=\"{{url}}\">kontaktieren Sie uns</a> falls Sie {{user_link}} sind und eine Nachfrage senden müssen."
@@ -1847,6 +1856,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2794,18 +2806,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "BenutzerIÜber mich"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "BenutzerIEmail"
@@ -3515,9 +3521,6 @@ msgstr "Nur {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/en/app.po b/locale/en/app.po
index 8527db557..43e01727a 100644
--- a/locale/en/app.po
+++ b/locale/en/app.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
"PO-Revision-Date: 2011-02-24 07:11-0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -806,15 +806,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1789,6 +1798,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2718,18 +2730,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3419,9 +3425,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/en_IE/app.po b/locale/en_IE/app.po
index 8309c3be3..ec48993f5 100644
--- a/locale/en_IE/app.po
+++ b/locale/en_IE/app.po
@@ -10,10 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: English (Ireland) (http://www.transifex.com/projects/p/alaveteli/language/en_IE/)\n"
"Language: en_IE\n"
"MIME-Version: 1.0\n"
@@ -810,15 +810,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1793,6 +1802,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2722,18 +2734,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3423,9 +3429,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/en_UG/app.po b/locale/en_UG/app.po
new file mode 100644
index 000000000..c304dccf0
--- /dev/null
+++ b/locale/en_UG/app.po
@@ -0,0 +1,3510 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-05 15:18-0000\n"
+"Last-Translator: Louise Crow <louise@mysociety.org>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: en_UG\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: Poedit 1.6.1\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr ""
+
+msgid " - view and make Freedom of Information requests"
+msgstr " - view and make Access to Information requests"
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr " Ideas on what <strong>other documents to request</strong> which the agency may hold. "
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr " What are you investigating using Access to Information? "
+
+msgid " You are already being emailed updates about the request."
+msgstr ""
+
+msgid " You will also be emailed updates about the request."
+msgstr ""
+
+msgid " made by "
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid " when you send this message."
+msgstr ""
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr "'{{link_to_authority}}', a public agency"
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr ""
+
+msgid "1. Select an authority"
+msgstr "1. Select an agency"
+
+msgid "2. Ask for Information"
+msgstr ""
+
+msgid "3. Now check your request"
+msgstr "3. Now check your request"
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another agency, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other agency</a>.</li>\\n <li>If you would like to contest the agency's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr ""
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the agency, but will not be displayed on the site.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the agency still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr "<strong><code>tag:charity</code></strong> to find all public agencies or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand ATI law, and the\\nway agencies use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual agency."
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr "<strong>Thank</strong> the public agency or "
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr "An Access to Information request"
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr "A full history of my ATI request and all correspondence is available on the Internet at this address: {{url}}"
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr "A public agency"
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr "A response will be sent <strong>by post</strong>"
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr "A strange reponse, required attention by the {{site_name}} team"
+
+msgid "A vexatious request"
+msgstr "A vexatious request"
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr ""
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr ""
+
+msgid "Advanced search tips"
+msgstr ""
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr ""
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr ""
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr ""
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr ""
+
+msgid "Annotations"
+msgstr ""
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr ""
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr ""
+
+msgid "Anyone:"
+msgstr ""
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr "Are we missing a public agency?"
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr ""
+
+msgid "Attachment:"
+msgstr ""
+
+msgid "Awaiting classification."
+msgstr ""
+
+msgid "Awaiting internal review."
+msgstr ""
+
+msgid "Awaiting response."
+msgstr ""
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr "Browse <a href='{{url}}' target='_blank'>other requests</a> for examples of how to word your request."
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr "Browse <a href='{{url}}' target='_blank'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+
+msgid "Browse all authorities..."
+msgstr "Browse all agencies…"
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr ""
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr "Clarify your ATI request - "
+
+msgid "Classify an FOI response from "
+msgstr "Classify an ATI response from "
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr "Confirm you want to follow all successful ATI requests"
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr "Confirm your ATI request to "
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr "Considered by administrators as not an ATI request and hidden from site."
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr ""
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr "Delayed response to your ATI request - "
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr ""
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr "ATI"
+
+msgid "FOI email address for {{public_body}}"
+msgstr "ATI email address for {{public_body}}"
+
+msgid "FOI request – {{title}}"
+msgstr "ATI request – {{title}}"
+
+msgid "FOI requests"
+msgstr "ATI requests"
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr "ATI requests by '{{user_name}}'"
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "ATI requests {{start_count}} to {{end_count}} of {{total_count}}"
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr "ATI response requires admin ({{reason}}) - {{title}}"
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr "First, search the <strong>name of the Ugandan public agency </strong> you would\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr "Follow this agency"
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr "Follow up"
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr "For an unknown reason, it is not possible to make a request to this agency."
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] "Found {{count}} public agency {{description}}"
+msgstr[1] "Found {{count}} public agencies {{description}}"
+
+msgid "Freedom of Information"
+msgstr "Access to Information"
+
+msgid "Freedom of Information Act"
+msgstr "Access to Information Act"
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr "Access to Information law does not apply to this agency, so you cannot make\\n a request to it."
+
+msgid "Freedom of Information law no longer applies to"
+msgstr "Access to Information law no longer applies to"
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr "Access to Information law no longer applies to this agency. Follow up messages to existing requests are sent to "
+
+msgid "Freedom of Information requests made"
+msgstr "Access to Information requests made"
+
+msgid "Freedom of Information requests made by this person"
+msgstr "Access to Information requests made by this person"
+
+msgid "Freedom of Information requests made by you"
+msgstr "Access to Information requests made by you"
+
+msgid "Freedom of Information requests made using this site"
+msgstr "Access to Information requests made using this site"
+
+msgid "Freedom of information requests to"
+msgstr "Access to Information requests to"
+
+msgid "From"
+msgstr ""
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr "Hello! You can make Access to Information requests within {{country_name}} at {{link_to_website}}"
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr ""
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr "Home page of agency"
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr "I am writing to request an internal review of {{public_body_name}}'s handling of my ATI request '{{info_request_title}}'."
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr "If the error was a delivery failure, and you can find an up to date ATI email address for the agency, please tell us using the form below."
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr "If you are dissatisfied by the response you got from\\n the public agency, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr "If you find this service useful as an ATI officer, please ask your web manager to link to us from your organisation's ATI page."
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr "If you have not done so already, please write a message below telling the agency that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr "Last agency viewed: "
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr "List of all agencies (CSV)"
+
+msgid "Listing FOI requests"
+msgstr "Listing ATI requests"
+
+msgid "Listing public authorities"
+msgstr "Listing public agencies"
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr "Listing public agencies matching '{{query}}'"
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr "Make a new<br/>\\n <strong>Access <span>to</span><br/>\\n Information<br/>\\n request</strong>"
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr "Make a request to this agency"
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr "Make and browse Access to Information (ATI) requests"
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr ""
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr "More about this agency"
+
+msgid "More requests..."
+msgstr ""
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr "New Access to Information requests"
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr "New response to your ATI request - "
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr "Nobody has made any Access to Information requests to {{public_body_name}} using this site yet."
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr "Not a valid ATI request"
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr "One ATI request found"
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr "One public agency found"
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr "Only the agency can reply to this request, and I don't recognise the address this reply was sent from"
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr "Only the agency can reply to this request, but there is no \"From\" address to check against"
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr ""
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr "Please describe more what the request is about in the subject. There is no need to say it is an ATI request, we add that on anyway."
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr ""
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr ""
+
+msgid "Please enter your old email address"
+msgstr ""
+
+msgid "Please enter your password"
+msgstr ""
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public agency by requesting unrelated information."
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr "Please pass this on to the person who conducts Access to Information reviews."
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr "Public agencies"
+
+msgid "Public authorities - {{description}}"
+msgstr "Public agencies - {{description}}"
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Public agencies {{start_count}} to {{end_count}} of {{total_count}}"
+
+msgid "Public authority – {{name}}"
+msgstr "Public agency – {{name}}"
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr "Public bodies that most frequently replied with \"Not Held\""
+
+msgid "Public bodies with most overdue requests"
+msgstr "Public bodies with most overdue requests"
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr "Requests for personal information and vexatious requests are not considered valid for ATI purposes (<a href=\"/help/about\">read more</a>)."
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr "Respond to the ATI request"
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr "Response from a public agency"
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr "Search Access to Information requests, public agencies and users"
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} agencies </strong>"
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] "Search within the {{count}} Access to Information requests to {{public_body_name}}"
+msgstr[1] "Search within the {{count}} Access to Information requests made to {{public_body_name}}"
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr "Select one to see more information about the agency."
+
+msgid "Select the authority to write to"
+msgstr "Select the agency to write to"
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr ""
+
+msgid "Some notes have been added to your FOI request - "
+msgstr "Some notes have been added to your ATI request - "
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr "Somebody added a note to your ATI request - "
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr "Special note for this agency!"
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr ""
+
+msgid "Subject:"
+msgstr ""
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr "Successful Access to Information requests"
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr "Thank you for responding to this ATI request! Your response has been published below, and a link to your response has been emailed to "
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr "The Access to Information Act <strong>does not apply</strong> to"
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr "The agency do <strong>not have</strong> the information <small>(maybe they say who does)"
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr "The agency only has a <strong>paper copy</strong> of the information."
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr "The agency say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid ATI request"
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr "The agency would like to / has <strong>responded by post</strong> to this request."
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that agency). In other words, the population being sampled is all the current and future requests to the agency through this site, rather than, say, all requests that have been made to the public body by any means."
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr "The public agency does not have the information requested"
+
+msgid "The public authority would like part of the request explained"
+msgstr "The public agency would like part of the request explained"
+
+msgid "The public authority would like to / has responded by post"
+msgstr "The public agency would like to / has responded by post"
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr "The request was refused by the public agency"
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the agency should normally have responded\\n <strong>promptly</strong> and"
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the agency should have responded\\n by now"
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr "The search index is currently offline, so we can't show the Access to Information requests that have been made to this agency."
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr "The search index is currently offline, so we can't show the Access to Information requests this person has made."
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr "Then you can classify the ATI response you have got from "
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr "Then you can upload an ATI response. "
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr "Then you will be following all new ATI requests."
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr "Then you will be notified whenever an ATI request succeeds."
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr "Then you'll be allowed to send ATI requests."
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr "Then your ATI request to {{public_body_name}} will be sent."
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr "There is a limit on the number of requests you can make in a day, because we don’t want public agencies to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr "This agency no longer exists, so you cannot make a request to it."
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr "This is a plain-text version of the Access to Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr "This is an HTML version of an attachment to the Access to Information request"
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr "This person has made no Access to Information requests using this site."
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] "This person's {{count}} Access to Information request"
+msgstr[1] "This person's {{count}} Access to Information requests"
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an ATI request"
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which agencies respond to requests, the number of requests\\nwhich require a postal response and much more."
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr "To classify the response to this ATI request"
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr "To follow requests made using {{site_name}} to the public agency '{{public_body_name}}'"
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr "To send your ATI request"
+
+msgid "To update the status of this FOI request"
+msgstr "To update the status of this ATI request"
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr "To view the email address that we use to send ATI requests to {{public_body_name}}, please enter these words."
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr ""
+
+msgid "Today"
+msgstr ""
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr "Unfortunately we don't know the ATI\\nemail address for that agency, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr "Upload ATI response"
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr "View ATI email address"
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr "View ATI email address for '{{public_body_name}}'"
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr "View ATI email address for {{public_body_name}}"
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr "View Access to Information requests made by {{user_name}}:"
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr "View agencies"
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr "Waiting for the public agency to complete an internal review of their handling of the request"
+
+msgid "Waiting for the public authority to reply"
+msgstr "Waiting for the public agency to reply"
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr "Was the response you got to your ATI request any good?"
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr "We consider it is not a valid ATI request, and have therefore hidden it from other users."
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr "We do not have a working request email address for this agency."
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr "Write your ATI follow up message to "
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr "You can only request information about the environment from this agency."
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr "You have made no Access to Information requests using this site."
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr "You want to <strong>give your postal address</strong> to the agency in private."
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr "You're long overdue a response to your ATI request - "
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr ""
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr ""
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr ""
+
+msgid "Your password:"
+msgstr ""
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr ""
+
+msgid "Your response to an FOI request was not delivered"
+msgstr "Your response to an ATI request was not delivered"
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] "Your {{count}} Access to Information request"
+msgstr[1] "Your {{count}} Access to Information requests"
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr ""
+
+msgid "Yours sincerely,"
+msgstr ""
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr "[ATI #{{request}} email]"
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr "alaveteli_foi:The software that runs {{site_name}}"
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr "agencies"
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr ""
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr "messages from agencies"
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr "the main ATI contact address for {{public_body}}"
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr "the main ATI contact at {{public_body}}"
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr "{{count}} ATI requests found"
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] "{{count}} Access to Information request to {{public_body_name}}"
+msgstr[1] "{{count}} Access to Information requests to {{public_body_name}}"
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] "{{count}} person is following this agency"
+msgstr[1] "{{count}} people are following this agency"
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr "{{site_name}} covers requests to {{number_of_authorities}} agencies, including:"
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this agency."
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr "{{title}} - a Access to Information request to {{public_body}}"
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr "{{user_name}} - Access to Information requests"
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/locale/es/app.po b/locale/es/app.po
index 37ac7e389..7ec55180b 100644
--- a/locale/es/app.po
+++ b/locale/es/app.po
@@ -14,10 +14,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/alaveteli/language/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
@@ -900,15 +900,24 @@ msgstr "Seguir a esta persona"
msgid "Follow this request"
msgstr "Seguir esta solicitud"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Seguimiento"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Respuesta enviada por el creador de la solicitud"
msgid "Follow up messages to existing requests are sent to "
msgstr "Las respuestas a solicitudes existentes se envían a "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Se han bloqueado nuevas respuestas a esta solicitud para prevenir spam. Por favor <a href=\"{{url}}\">contáctanos</a> si tú eres {{user_link}} y necesitas responder."
@@ -1940,6 +1949,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2927,18 +2939,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "User|Address"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "User|Dob"
-
msgid "User|Email"
msgstr "User|Email"
@@ -3686,9 +3692,6 @@ msgstr "Sólo {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "solicitud {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "solicitud {{law_used_full}} - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "Solicitudes de información a {{public_body}}"
diff --git a/locale/eu/app.po b/locale/eu/app.po
index f546085cd..4bbc76246 100644
--- a/locale/eu/app.po
+++ b/locale/eu/app.po
@@ -9,10 +9,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/alaveteli/language/eu/)\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
@@ -841,15 +841,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Jarraitu eskabide honi"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Jarraipena"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Eskabidea sortu zuenak bidalitako erantzuna"
msgid "Follow up messages to existing requests are sent to "
msgstr "Dauden eskabideen erantzunak hona bidaltzen dira:"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Eskabide honen erantzun berriak blokeatu dira, spama saihesteko. Mesedez, jar zaitez gurekin<a href=\"{{url}}\">harremanetan</a> {{user_link}} baldin bazara eta erantzun behar baduzu."
@@ -1836,6 +1845,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2786,18 +2798,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "User|Email"
@@ -3507,9 +3513,6 @@ msgstr "{{info_request_user_name}} bakarrik:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "{{law_used_full}} eskabidea - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} eskabidea - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/fi/app.po b/locale/fi/app.po
index e57e424ff..b6353d309 100644
--- a/locale/fi/app.po
+++ b/locale/fi/app.po
@@ -10,10 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/alaveteli/language/fi/)\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
@@ -810,15 +810,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1793,6 +1802,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2722,18 +2734,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3423,9 +3429,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/fr/app.po b/locale/fr/app.po
index 2c6207e36..5b22e2172 100644
--- a/locale/fr/app.po
+++ b/locale/fr/app.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Adrien Chauvet <adr.chauvet@gmail.com>, 2013
# skenaja <alex@alexskene.com>, 2011
# andreas.pavlou <andreas@access-info.org>, 2013
# andreas.pavlou <andreas@access-info.org>, 2013
@@ -29,10 +30,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-24 21:52+0000\n"
+"Last-Translator: Adrien Chauvet <adr.chauvet@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/alaveteli/language/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -633,7 +634,7 @@ msgid "Date:"
msgstr "Date:"
msgid "Dear {{name}},"
-msgstr "Cher {{nom}},"
+msgstr "Cher {{name}},"
msgid "Dear {{public_body_name}},"
msgstr "Cher {{public_body_name}},"
@@ -833,15 +834,24 @@ msgstr "Suivre cette personne "
msgid "Follow this request"
msgstr "Suivre cette demande"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Suivre"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Suivre les messages envoyés par le demandeur"
msgid "Follow up messages to existing requests are sent to "
msgstr "Le suivi des demandes existantes est envoyé à"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Les suivis et les nouvelles réponses à cette demande ont été arrêtés afin de prémunir de spams. Veuillez <a href=\"{{url}}\">Nous contacter </a> si vous êtes {{user_link}} et avez besoin d'envoyer un suivi."
@@ -1028,7 +1038,7 @@ msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a
msgstr "Si vous rencontrez toujours des problèmes, s'il vous plaît <a href=\"{{url}}\">contact us</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
-msgstr ""
+msgstr "Si vous êtes l'auteur de la demande, <a href=\"{{url}}\">connectez-vous</a> pour voir le message."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
msgstr "Si vous êtes le demandeur, alors vous pouvez <a href=\"{{url}}\">sign in</a> voir à la demande."
@@ -1100,10 +1110,10 @@ msgid "IncomingMessage|Mail from domain"
msgstr "IncomingMessage|Mail from domain"
msgid "IncomingMessage|Prominence"
-msgstr ""
+msgstr "Nouveau message|important"
msgid "IncomingMessage|Prominence reason"
-msgstr ""
+msgstr "Nouveau message | Objet important"
msgid "IncomingMessage|Sent at"
msgstr "IncomingMessage|Envoyé à"
@@ -1301,7 +1311,7 @@ msgid "Message"
msgstr "Message"
msgid "Message has been removed"
-msgstr ""
+msgstr "Le message a été supprimé"
msgid "Message sent using {{site_name}} contact form, "
msgstr "Message envoyé en utilisant le formulaire {{site_name}}"
@@ -1421,7 +1431,7 @@ msgid "Now preview your message asking for an internal review"
msgstr "Maintenant prévisualisez votre message demandant un examen interne"
msgid "Number of requests"
-msgstr ""
+msgstr "Nombre de requêtes"
msgid "OR remove the existing photo"
msgstr "Ou effacer la photo existante"
@@ -1487,10 +1497,10 @@ msgid "OutgoingMessage|Message type"
msgstr "OutgoingMessage|Message type"
msgid "OutgoingMessage|Prominence"
-msgstr ""
+msgstr "Message sortant |Important"
msgid "OutgoingMessage|Prominence reason"
-msgstr ""
+msgstr "Message sortant | Objet important"
msgid "OutgoingMessage|Status"
msgstr "OutgoingMessage|Status"
@@ -1520,10 +1530,10 @@ msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Personnes {{start_count}} à {{end_count}} de {{total_count}}"
msgid "Percentage of requests that are overdue"
-msgstr ""
+msgstr "Taux de requêtes en retard"
msgid "Percentage of total requests"
-msgstr ""
+msgstr "Taux de requêtes total"
msgid "Photo of you:"
msgstr "Votre photo :"
@@ -1541,7 +1551,7 @@ msgid "Please"
msgstr "S'il vous plait"
msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Merci de <a href=\"{{url}}\">nous contacter</a> si vous avez des questions."
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
msgstr "Veuillez <a href=\"{{url}}\">nous contacter </a> afin que nous puissions le corriger."
@@ -1748,10 +1758,10 @@ msgid "ProfilePhoto|Draft"
msgstr "ProfilePhoto|Draft"
msgid "Public Bodies"
-msgstr ""
+msgstr "Organismes publics"
msgid "Public Body Statistics"
-msgstr ""
+msgstr "Statistiques de l'organisme public"
msgid "Public authorities"
msgstr "Organismes publics"
@@ -1766,19 +1776,19 @@ msgid "Public authority – {{name}}"
msgstr "Organisme public – {{name}}"
msgid "Public bodies that most frequently replied with \"Not Held\""
-msgstr ""
+msgstr "Organismes publics ayant le plus souvent répondu par \"Non approuvé\""
msgid "Public bodies with most overdue requests"
-msgstr ""
+msgstr "Organismes publics ayant le plus de requêtes en retard"
msgid "Public bodies with the fewest successful requests"
-msgstr ""
+msgstr "Organismes publics ayant le moins de requêtes réussies"
msgid "Public bodies with the most requests"
-msgstr ""
+msgstr "Organismes publics ayant le plus de requêtes"
msgid "Public bodies with the most successful requests"
-msgstr ""
+msgstr "Organismes publics ayant le plus de requêtes réussies"
msgid "Public body"
msgstr "Organisme public"
@@ -1808,13 +1818,16 @@ msgid "PublicBody|Info requests count"
msgstr "PublicBody|Info requests count"
msgid "PublicBody|Info requests not held count"
-msgstr ""
+msgstr "Organisme public | Compteur de requêtes non approuvées"
msgid "PublicBody|Info requests overdue count"
-msgstr ""
+msgstr "Organisme public | Compteur de requête en retard"
msgid "PublicBody|Info requests successful count"
-msgstr ""
+msgstr "Organisme public | Compteur de requêtes réussies"
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr "Organisme public | Compteur classé d'info requête visible"
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -1928,10 +1941,10 @@ msgid "Requested on {{date}}"
msgstr "Demandé le {{date}}"
msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
-msgstr ""
+msgstr "Les requêtes sont considérées comme dépassées si elles sont classées 'en retard' ou 'très en retard'."
msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
-msgstr ""
+msgstr "Les requêtes sont considérées comme réussies si elles sont classées en tant que 'Réussies' ou 'Partiellement réussies'."
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
msgstr "Les demandes de renseignements personnels et les demandes abusives ne sont pas considérées comme demandes valides (<a href=\"/help/about\">Lire plus</a>)."
@@ -2242,19 +2255,19 @@ msgid "The authority would like to / has <strong>responded by post</strong> to t
msgstr "L'autorité aimerait répondre, ou a répondu, <strong> par la Poste </strong> à cette demande."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "La classification des requêtes (e.g. si elles sont réussies ou non) étant effectuée manuellement par les utilisateurs et administrateurs du site, des erreurs peuvent apparaître."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
msgstr "Le message que vous , au nom de {{public_body}}, avez envoyé à \\n{{user}} en réponse à la demande {{law_used_short}}\\n n'a pas été delivré"
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
-msgstr ""
+msgstr "Les barres d'erreurs affichées sont précises à 95% pour les proportions sous-jacentes supposées (i.e. celles que vous obtiendriez en effectuant un nombre infini de requêtes via ce site aux autorités). En d'autres mots, la population échantillonnée concerne toute les requêtes futures et actuelles aux autorités via ce site plutôt que, par exemple, toutes les requêtes effectuées aux organismes publics par tous les moyens."
msgid "The page doesn't exist. Things you can try now:"
msgstr "La page n'existe pas . Vous pouvez essayer de :"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Les taux sont calculés selon le nombre total de requêtes, qui inclue les requêtes invalides ; c'est un problème connu qui sera fixé dans une prochaine version."
msgid "The public authority does not have the information requested"
msgstr "L'autorité administrative n'a pas les informations demandées"
@@ -2400,7 +2413,7 @@ msgid "There was an error with the words you entered, please try again."
msgstr "Il y a une erreur liée aux mots que vous avez saisis, veuillez réessayer."
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "Il n'y a actuellement pas de données calculées pour ce graphique."
msgid "There were no requests matching your query."
msgstr "Aucune demande d'information ne correspond à votre recherche."
@@ -2409,7 +2422,7 @@ msgid "There were no results matching your query."
msgstr "Aucun résultat correspondant à votre recherche."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Ces graphiques son issus en partie <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">des statistiques</a> que Mark Goodge a produit pour WhatDoTheyKnow, donc le mérite lui revient."
msgid "They are going to reply <strong>by post</strong>"
msgstr "Ils vont répondre <strong>par courrier</strong>"
@@ -2457,25 +2470,25 @@ msgid "This is your own request, so you will be automatically emailed when new r
msgstr "Ceci est votre propre demande, afin que vous receviez automatiquement un e-mail dès que de nouvelles réponses arrivent."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Ce message a été masqué."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Ce message a été masqué. Plusieurs raisons peuvent expliquer ce phénomène, désolé de ne pouvoir vous en dire davantage ici."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ce message possède le statu 'caché'. Vous pouvez le voir uniquement car vous êtes connecté en tant que super-utilisateur."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ce message possède le statut 'caché'. {{Raison}} Vous pouvez le voir uniquement car vous êtes connecté en tant que super-utilisateur."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Ce message est caché, afin que seulement vous, le demandeur, puissiez le voir. Merci de <a href=\"{{url}}\">nous contacter</a> si vous ne savez pas pourquoi."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Ce message est caché, afin que seulement vous, le demandeur, puissiez le voir. {{raison}}"
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Cette page des statistiques des organismes publics est actuellement expérimentale, c'est pourquoi certaines mises en gardes doivent être portées à votre connaissance :"
msgid "This particular request is finished:"
msgstr "Cette demande particulière est terminée:"
@@ -2745,18 +2758,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "User|Address"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "User|Dob"
-
msgid "User|Email"
msgstr "User|Email"
@@ -3446,9 +3453,6 @@ msgstr "{{info_request_user_name}} uniquement:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "{{law_used_full}} demande - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} demande - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} demandes à {{public_body}}"
diff --git a/locale/fr_CA/app.po b/locale/fr_CA/app.po
index 573323f23..0477869b5 100644
--- a/locale/fr_CA/app.po
+++ b/locale/fr_CA/app.po
@@ -17,10 +17,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: French (Canada) (http://www.transifex.com/projects/p/alaveteli/language/fr_CA/)\n"
"Language: fr_CA\n"
"MIME-Version: 1.0\n"
@@ -29,10 +29,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
-msgstr "Ceci apparaîtra sur votre profil {{site_name}} afin que les autres utilisateurs //n puissent interagir avec vous."
+msgstr "Ceci apparaîtra sur votre profil {{site_name}} afin que les autres utilisateurs \\n puissent interagir avec vous."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
-msgstr "(<strong>aucune garantie</strong> politique. Merci de lire notre <a href=\"{{url}}\">politique de modération</a>)"
+msgstr "(Pas de diatribe politique et autres propos agressifs. Merci de lire notre <a href=\"{{url}}\">politique sur les annotations</a>)"
msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
msgstr "(<strong>Merci de votre patience!</strong> Les fichiers volumineux peuvent prendre un certain moment à charger.)"
@@ -55,7 +55,7 @@ msgid " <strong>Privacy note:</strong> Your email address will be given to"
msgstr " <strong>Avis de confidentialité :</strong> Votre adresse courriel sera communiquée à"
msgid " <strong>Summarise</strong> the content of any information returned. "
-msgstr " <strong>Résumez</strong>le contenu de toute information transmise. "
+msgstr " <strong>Résumez</strong> le contenu de toute information transmise. "
msgid " Advise on how to <strong>best clarify</strong> the request."
msgstr "Indiquez comment rendre la demande <strong>plus claire</strong>."
@@ -67,19 +67,19 @@ msgid " If you know the address to use, then please <a href=\"{{url}}\">send it
msgstr "Si vous connaissez l'adresse à utiliser, merci de <a href=\"{{url}}\">nous la communiquer</a>.\\n Il est possible que vous trouviez l'adresse sur leur site web ou en la demandant par téléphone. "
msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
-msgstr "Incluez les liens pertinents, comme le site web de la campagne, votre blog ou un \\n compte twitter. Les liens seront cliquables. \\n ex:"
+msgstr "Incluez les liens pertinents, comme le site web de la campagne, votre blog ou un \\n compte twitter. Ex:"
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
-msgstr "Lien vers les informations demandées, si elle sont <strong>déjà disponibles</strong> sur Internet. "
+msgstr "Pointer des informations <strong>déjà disponibles</strong> sur Internet. "
msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
-msgstr " Proposez de meilleures <strong>formulations</strong> pour accéder à ces informations. "
+msgstr " Proposer de meilleures <strong>formulations</strong> pour accéder à ces informations. "
msgid " Say how you've <strong>used the information</strong>, with links if possible."
-msgstr " Dites-nous comment vous avez <strong>utilisé ces informations</strong>, à l'aide de liens si possible. "
+msgstr " Dites-nous comment vous avez <strong>utilisé ces informations</strong>, si possible à l'aide de liens. "
msgid " Suggest <strong>where else</strong> the requester might find the information. "
-msgstr " Suggérez <strong>un autre endroit</strong> où l'utilisateur pourrait trouver ces informations. "
+msgstr " Suggérer <strong>un autre endroit</strong> où l'utilisateur pourrait trouver ces informations. "
msgid " What are you investigating using Freedom of Information? "
msgstr "Que recherchez-vous en utilisant les demandes d'accès à l'information?"
@@ -103,7 +103,7 @@ msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escap
msgstr "*** \"Bonjour! Nous avons <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">un message important </a> pour les visiteurs à l'extérieur de {{country_name}}\""
msgid "'Crime statistics by ward level for Wales'"
-msgstr "\"Statistiques sur la criminalité par district au Pays des Merveilles'"
+msgstr "'Document statistique sur la criminalité de 2001 à 2013'"
msgid "'Pollution levels over time for the River Tyne'"
msgstr "\"Évolution des niveaux de pollution de la rivière bleue\""
@@ -133,13 +133,13 @@ msgid "2. Ask for Information"
msgstr "2. Demandez une information"
msgid "3. Now check your request"
-msgstr "3. Vérifiez maintenant votre demande"
+msgstr "3. Vérifiez votre demande"
msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
-msgstr "****<a href=\"{{browse_url}}\">Voir tout</a> ou <a href=\"{{add_url}}\"> demandez nous d'ajouter une</a>."
+msgstr "<a href=\"{{browse_url}}\">Voir tous les organismes</a>."
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Ajouter une annotation</a> (pour aider le demandeur ou les autres)"
msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
msgstr "<a href=\"{{url}}\">Connectez-vous</a> pour modifier votre mot de passe, vos abonnements, etc. ({{user_name}} only)"
@@ -169,22 +169,22 @@ msgid "<p>Thanks for updating your profile photo.</p>\\n <p><stro
msgstr "<p>Merci d'avoir mis à jour votre photo de profil!</p>\\n<p><strong> Prochaine étape…</strong> Rédigez un texte de présentation pour votre profil!</p>"
msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
-msgstr "<p>Nous vous conseillons de modifier votre demande et de retirer l'adresse courriel. \\n Si vous ne la retirez pas, l'adresse courriel sera envoyée à l'autorité publique, mais elle ne sera pas visible sur le site web.</p>"
+msgstr "<p>Nous vous conseillons de modifier votre demande et de retirer l'adresse courriel. \\n Si vous ne la retirez pas, l'adresse courriel sera envoyée à l'organisme gouvernemental, mais elle ne sera pas visible sur le site web.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
msgstr "<p>Nous sommes heureux que vous ayez obtenu toute l'information demandée. Si vous souhaitez rédiger un billet au sujet de cette information ou l'utiliser d'une toute autre façon, merci d'ajouter un commentaire ci-dessous expliquant l'usage que vous en avez fait.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
-msgstr "<p>Nous sommes heureux que vous ayez obtenu toute l'information demandée. Si vous souhaitez rédiger un billet au sujet de cette information ou l'utiliser d'une toute autre façon, merci d'ajouter un commentaire ci-dessous expliquant l'usage que vous en avez fait.</p><p>Si vous trouvez que {{site_name}} est utile, <a href=\"{{donation_url}}\">vous pouvez faire un don</a> à l'organisme sans but lucratif qui s'en charge.</p>"
+msgstr "<p>Nous sommes heureux que vous ayez obtenu toute l'information demandée. Si vous souhaitez rédiger un billet au sujet de cette information ou l'utiliser d'une toute autre façon, merci d'ajouter un commentaire ci-dessous expliquant l'usage que vous en avez fait.</p>"
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr "<p>Nous sommes heureux que vous ayez obtenu une partie de l'information demandée. Si vous trouvez que {{site_name}} est utile, <a href=\"{{donation_url}}\">vous pouvez faire un don</a> à l'organisme sans but lucratif qui s'en charge.</p><p>Si vous souhaitez tenter d'obtenir le reste de l'information demandée, voici ce que vous pouvez faire.</p>"
+msgstr "<p>Nous sommes heureux que vous ayez obtenu une partie de l'information demandée.</p><p>Si vous souhaitez tenter d'obtenir le reste de l'information demandée, voici ce que vous pouvez faire.</p>"
msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
msgstr "<p>Nous sommes heureux que vous ayez obtenu une partie de l'information demandée.</p><p>Si vous souhaitez tenter d'obtenir le reste de l'information demandée, voici ce que vous pouvez faire.</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
-msgstr "<p>Vous n'avez pas à inclure votre adresse courriel à la demande afin de recevoir une réponse(<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Vous n'avez pas à inclure votre adresse courriel à la demande afin de recevoir une réponse(<a href=\"{{url}}\">détails</a>).</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
msgstr "<p>Vous n'avez pas à inclure votre adresse courriel à la demande afin de recevoir une réponse. Nous allons vous la demander au prochain écran (<a href=\"{{url}}\">details</a>).</p>"
@@ -193,16 +193,16 @@ msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly
msgstr "<p>Votre demande contient un <strong> code postal</strong>. À moins que cela ne soit directement relié à l'information demandée, veuillez retirer toute indication d'adresse puisque ces informations <strong>apparaîtront publiquement sur Internet</strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr "<p>Votre {{law_used_full}} demande a été <strong>envoyée</strong>!</p>\\n<p><strong>Nous vous enverrons un courriel</strong> lorsque nous recevrons une réponse, ou lorsque le délai de {{late_number_of_days}} jours calendaires accordé aux autorités sera \\n dépassé.</p>\\nSi vous souhaitez écrire au sujet de cette demande (par exemple dans un forum ou un blog), veuillez ajouter un lien vers cette page et ajouter un \\n commentaire ci-dessous pour en informer les autres utilisateurs. </p>"
+msgstr "<p>Votre demande a été <strong>envoyée</strong>!</p>\\n<p><strong>Nous vous enverrons un courriel</strong> lorsque nous recevrons une réponse ou lorsque le délai de {{late_number_of_days}} jours calendriers sera \\n écoulé.</p>\\nSi vous souhaitez écrire au sujet de cette demande (par exemple dans un forum ou un blog), veuillez ajouter un lien vers cette page et ajouter une \\n annotation (voir ci-dessous) pour en informer les autres utilisateurs.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
-msgstr "<p> {{site_name}} est présentement en maintenance. Vous pouvez seulement voir les demandes existantes. Vous ne pouvez en formuler de nouvelles, ajouter un suivi, des commentaires, ou changer de toute autre façon la base de données.</p> <p>{{read_only}}</p>"
+msgstr "<p> {{site_name}} est en maintenance pour le moment. Vous pouvez seulement voir les demandes existantes. Vous ne pouvez en formuler de nouvelles, ajouter un suivi, des commentaires, ou changer de toute autre façon la base de données.</p> <p>{{read_only}}</p>"
msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
-msgstr "<small> Si vous utilisez un service de courriel sur le web ou des filtres de \"courrier indésirable\", veuillez aussi vérifier vos dossiers de courrier indésirable. Parfois, nos messages sont marqués de cette façon.</small> /n</p>"
+msgstr "<small> Si vous utilisez un service de courriel sur le web ou des filtres de \"courrier indésirable\", veuillez aussi vérifier vos dossiers de courrier indésirable. Parfois, nos messages sont marqués de cette façon.</small></p>"
msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
-msgstr "<strong>Puis-je demander des informations sur moi ?</strong>\\n\t\t\t<a href=\"{{url}}\">Non! (cliquez ici pour plus de détails)</a>"
+msgstr "<strong>Puis-je demander des informations sur moi-même?</strong>\\n\t\t\t<a href=\"{{url}}\">Non! (cliquez ici pour plus de détails)</a>"
msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
msgstr "<strong><code>commented_by:tony_bowden</code></strong> pour rechercher des annotations rédigées par Tony Bowden, tapez son nom comme si c'était un URL."
@@ -223,10 +223,10 @@ msgid "<strong><code>status:</code></strong> to select based on the status or hi
msgstr "<strong><code>statut :</code></strong>pour sélectionner une demande en fonction de son statut ou de l'historique de ses statuts, voir le <a href=\"{{statuses_url}}\">tableau des statuts</a> ci-dessous."
msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
-msgstr "<strong><code>tag:charity</code></strong> pour trouver toutes les autorités ou les demandes comprenant la même étiquette. Vous pouvez inclure plusieurs étiquettes,\\n ou plusieurs tag values, par exemple <code>tag:openlylocal ET tag:financial_transaction:335633</code>. Veuillez noter que, par défaut, tous les tags sont présents. Vous devez ajouter <code>ET</code> si vous voulez seulement les résultats dans lesquels elles sont toutes présentes."
+msgstr "<strong><code>tag:charity</code></strong> pour trouver tous les organismes publics ou les demandes comprenant le même tag. Vous pouvez inclure plusieurs tags \\n ou plusieurs tag values, par exemple <code>tag:openlylocal ET tag:financial_transaction:335633</code>. Veuillez noter que, par défaut, tous les tags sont présents. Vous devez ajouter <code>ET</code> si vous voulez seulement les résultats dans lesquels ils sont tous présents."
msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
-msgstr "<strong> <code> variety: </ code> </ strong> pour sélectionner le type de demandes à rechercher, consulter le <a href=\"{{varieties_url}}\">tableau des variétés</a> ci-dessous."
+msgstr "<strong> <code> variety: </code> </strong> pour sélectionner le type de demandes à rechercher, consulter le <a href=\"{{varieties_url}}\">tableau des variétés</a> ci-dessous."
msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
msgstr "<strong>Conseils</strong> sur la façon d'obtenir une réponse qui satisfera le demandeur. </li>"
@@ -238,7 +238,7 @@ msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
msgstr "<strong>Autre chose</strong>, comme clarifier, inciter et remercier"
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
-msgstr "<strong>Caveat emptor!</strong> Pour utiliser ces données de façon honnête, vous devrez \\n avoir une bonne connaissance du comportement des utilisateurs sur {{site_name}}. Comment, \\n pourquoi et par qui les demandes sont categorisées n'est pas explicite.Vous aurez également besoin de comprendre la loi sur les demandes d'accès à l'information et la \\n façon dont les autorités l'utilisent. De plus, vous aurez besoin d'être un statisticien de niveau élite. Veuillez \\n<a href=\"{{contact_path}}\">nous contacter </a> si vous avez des questions."
+msgstr "<strong>Soyez attentifs!</strong> Pour utiliser ces données de façon responsable, vous devez \\n avoir une bonne connaissance du comportement des utilisateurs de {{site_name}}. Comment, \\n pourquoi et par qui les demandes sont catégorisées n'est pas explicité. Vous aurez également besoin de comprendre la loi relative aux demandes d'accès aux documents et la \\n façon dont les organismes publics la suivent. Veuillez \\n<a href=\"{{contact_path}}\">nous contacter </a> si vous avez des questions."
msgid "<strong>Clarification</strong> has been requested"
msgstr "<strong>Des précisions</strong> ont été demandées"
@@ -250,7 +250,7 @@ msgid "<strong>Note:</strong> Because we're testing, requests are being sent to
msgstr "<strong>Note:</strong> Puisque nous faisons des tests, les demandes sont envoyées à {{email}} plutôt qu'à l'organisme."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr "<strong>Remarque:</strong> Vous envoyez un message à vous-même, sans doute \\n pour faire un essai."
+msgstr "<strong>Remarque:</strong> Vous vous envoyez un message, sans doute \\n pour faire un essai."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
msgstr "<strong>Remarque:</strong> Nous allons vous envoyer un courriel à votre nouvelle adresse. Suivez les instructions qui s'y trouveront pour confirmer le changement de votre adresse courriel."
@@ -268,7 +268,7 @@ msgid "<strong>Some of the information</strong> has been sent "
msgstr "<strong>Certaines informations</strong> ont été envoyées "
msgid "<strong>Thank</strong> the public authority or "
-msgstr "<strong>Remerciez</strong> l'organisme ou"
+msgstr "<strong>Remerciez</strong> l'organisme ou "
msgid "<strong>did not have</strong> the information requested."
msgstr "<strong>n'avait pas </strong> les informations demandées."
@@ -310,7 +310,7 @@ msgid "About you:"
msgstr "À propos de vous:"
msgid "Act on what you've learnt"
-msgstr "Agissez en fonction de ce que vous avez appris."
+msgstr "Partagez ce que vous avez appris!"
msgid "Acts as xapian/acts as xapian job"
msgstr "Acts as xapian/acts as xapian job"
@@ -322,7 +322,7 @@ msgid "ActsAsXapian::ActsAsXapianJob|Model"
msgstr "ActsAsXapian::ActsAsXapianJob|Model"
msgid "Add an annotation"
-msgstr "Ajouter une remarque"
+msgstr "Ajouter une annotation"
msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
msgstr "Ajouter une annotation à votre demande avec des citations ou \\n un <strong> résumé de la réponse</strong>."
@@ -352,10 +352,10 @@ msgid "All of the information requested has been received"
msgstr "Tous les renseignements demandés ont été reçus"
msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
-msgstr "Toutes les options ci-dessous peuvent utiliser <strong>status</strong> ou <strong>latest_status</strong> avant le deux-points. Par exemple, <strong>status:not_held</strong> correspondra aux demandes qui ont <em>déjà</em> été marquées comme non disponibles auprès de l'autorité; <strong>latest_status:not_held</strong> correspondra uniquement aux demandes sont <em>actuellement</em> marquées comme non disponibles auprès de l'autorité."
+msgstr "Toutes les options ci-dessous peuvent utiliser <strong>status</strong> ou <strong>latest_status</strong> avant le deux-points. Par exemple, <strong>status:not_held</strong> correspondra aux demandes qui ont <em>déjà</em> été marquées comme non disponibles auprès de l'organisme public; <strong>latest_status:not_held</strong> correspondra uniquement aux demandes sont <em>actuellement</em> marquées comme non disponibles auprès de l'autorité."
msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
-msgstr "Toutes les options ci-dessous peuvent utiliser <strong>variety</strong> ou <strong>latest_variety</strong> avant le deux-points. Par exemple, <strong>variety:sent</strong> correspondra aux demandes qui ont <em>déjà</em> été envoyées; <strong>latest_variety:sent</strong> correspondra seulement aux demandes qui sont <em>présentement</em> marquées comme envoyées."
+msgstr "Toutes les options ci-dessous peuvent utiliser <strong>variety</strong> ou <strong>latest_variety</strong> avant le deux-points. Par exemple, <strong>variety:sent</strong> correspondra aux demandes qui ont <em>déjà</em> été envoyées; <strong>latest_variety:sent</strong> correspondra seulement aux demandes qui sont <em>actuellement</em> marquées comme envoyées."
msgid "Also called {{other_name}}."
msgstr "Également appelé {{other_name}}."
@@ -388,16 +388,16 @@ msgid "Annotations"
msgstr "Annotations"
msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
-msgstr "Les annotations sont là afin que toute personne, y compris vous, puisse aider le demandeur avec sa demande. Par exemple:"
+msgstr "Les annotations permettent à n'importe quel utilisateur d'aider le demandeur dans sa démarche. Par exemple:"
msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
-msgstr "Les annotations seront publiées ici et ne seront <strong>pas</strong> envoyées à {{public_body_name}}."
+msgstr "Les annotations seront uniquement publiées sur ce site et ne seront <strong>pas</strong> envoyées à {{public_body_name}}."
msgid "Anonymous user"
msgstr "Utilisateur anonyme"
msgid "Anyone:"
-msgstr "Personne:"
+msgstr "N'importe quel utilisateur:"
msgid "Applies to"
msgstr "S'applique à"
@@ -406,7 +406,7 @@ msgid "Are we missing a public authority?"
msgstr "Vous ne trouvez pas l'organisme que vous cherchez?"
msgid "Are you the owner of any commercial copyright on this page?"
-msgstr "Êtes-vous le propriétaire d'un droit d'auteur commercial sur cette page?"
+msgstr "Des questions sur la propriété intellectuelle et le droit d'auteur relatifs aux demandes?"
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Demandez des documents ou des <strong>informations spécifiques</strong>, ce site ne convient pas pour des demandes de renseignements d'ordre général."
@@ -427,19 +427,19 @@ msgid "Awaiting internal review."
msgstr "En attente de révision interne."
msgid "Awaiting response."
-msgstr "Réponse en attente."
+msgstr "En attente d'une réponse."
msgid "Beginning with"
msgstr "Commence avec"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
-msgstr "Parcourir <a href='{{url}}'>les autres demandes</a> pour des exemples sur la façon dont vous pouvez formuler votre demande."
+msgstr "Prenez connaissance <a href='{{url}}'>des autres demandes</a> pour des exemples sur la façon dont vous pouvez formuler votre demande. Vérifiez également que votre demande n'a pas déjà été faite (et répondue!) par un autre utilisateur."
msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
-msgstr "Parcourir <a href='{{url}}'>les autres demandes</a> à '{{public_body_name}}' pour des exemples sur la façon dont vous pouvez formuler votre demande."
+msgstr "Prenez connaissance <a href='{{url}}'>des autres demandes</a> faites au '{{public_body_name}}' pour des exemples sur la façon dont vous pouvez formuler votre demande. Vérifiez également que votre demande n'a pas déjà été faite (et répondue!) par un autre utilisateur."
msgid "Browse all authorities..."
-msgstr "Parcourir tous les organismes gouvernementaux..."
+msgstr "Parcourir tous les organismes gouvernementaux…"
msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
msgstr "Selon la loi, en toutes circonstances, {{public_body_link}} devrait avoir déjà répondu"
@@ -451,7 +451,7 @@ msgid "Calculated home page"
msgstr "Page d'accueil calculée"
msgid "Can't find the one you want?"
-msgstr "Vous ne trouvez pas celui que vous cherchez?"
+msgstr "Vous ne trouvez pas ce que vous cherchez?"
msgid "Cancel a {{site_name}} alert"
msgstr "Annuler une alerte de {{site_name}}"
@@ -514,7 +514,7 @@ msgid "Check for mistakes if you typed or copied the address."
msgstr "Vérifiez s'il y a des erreurs si vous avez tapé ou copié l'adresse."
msgid "Check you haven't included any <strong>personal information</strong>."
-msgstr "Vérifiez que vous n'avez pas inclus des <strong> informations personnelles </strong>."
+msgstr "Vérifiez que vous n'avez pas inclus d'<strong>informations personnelles</strong>."
msgid "Choose your profile photo"
msgstr "Choisissez votre photo de profil"
@@ -526,7 +526,7 @@ msgid "Clarify your FOI request - "
msgstr "Clarifier votre demande -"
msgid "Classify an FOI response from "
-msgstr "Classer une réponse de demande d'accès à l'information de"
+msgstr "Classer une réponse de demande d'accès aux documents de"
msgid "Clear photo"
msgstr "Supprimer la photo"
@@ -613,7 +613,7 @@ msgid "Cultural sites and built structures (as they may be affected by the\\n
msgstr "Les sites culturels et les bâtiments (puisqu'ils peuvent être affectés par \\n les facteurs environnementaux ci-dessus) "
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
-msgstr "Présentement <strong>en attente d'une réponse</strong> de {{public_body_link}}, qui doit répondre rapidement et"
+msgstr "<strong>Demande en attente d'une réponse</strong> de {{public_body_link}}. L'organisme doit répondre rapidement et"
msgid "Date:"
msgstr "Date:"
@@ -628,7 +628,7 @@ msgid "Default locale"
msgstr "Localisation par défaut"
msgid "Defunct."
-msgstr ""
+msgstr "Disparu"
msgid "Delayed response to your FOI request - "
msgstr "Réponse différée à votre demande d'accès aux documents - "
@@ -643,7 +643,7 @@ msgid "Destroy {{name}}"
msgstr "Détruire {{name}}"
msgid "Details of request '"
-msgstr "Détails de la demande"
+msgstr "Détails de la demande '"
msgid "Did you mean: {{correction}}"
msgstr "Vouliez-vous dire {{correction}} ?"
@@ -658,7 +658,7 @@ msgid "Disclosure log URL"
msgstr "Disclosure log URL"
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
-msgstr "Vous ne voulez pas envoyer votre message à {{person_or_body}}? Vous pouvez aussi écrire à: "
+msgstr "Vous ne voulez pas envoyer votre message au {{person_or_body}}? Vous pouvez aussi écrire à: "
msgid "Done"
msgstr "Fait"
@@ -688,10 +688,10 @@ msgid "Edit this request"
msgstr "Modifier cette demande"
msgid "Either the email or password was not recognised, please try again."
-msgstr "Le courriel ou le mot de passe n'ont pas été reconnus, veuillez essayer de nouveau."
+msgstr "Le courriel ou le mot de passe n'a pas été reconnu: veuillez essayer de nouveau."
msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
-msgstr "Le courriel ou le mot de passe n'ont pas été reconnus, veuillez essayer de nouveau. Ou, créer un nouveau compte en utilisant le formulaire à droite."
+msgstr "Le courriel ou le mot de passe n'a pas été reconnu: veuillez essayer de nouveau ou créer un nouveau compte en utilisant le formulaire à droite."
msgid "Email doesn't look like a valid address"
msgstr "Le courriel ne ressemble pas à une adresse valide"
@@ -718,16 +718,16 @@ msgid "Event history"
msgstr "Historique des événements"
msgid "Event history details"
-msgstr "Détails de l'historique des événements"
+msgstr "Historique technique de cette demande"
msgid "Event {{id}}"
-msgstr "Evènement {{id}}"
+msgstr "Événement {{id}}"
msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr "Tout ce que vous indiquez sur cette page, y compris <strong>votre nom </strong>,\\nsera désormais <strong>public </strong> sur \\n ce site. (<a href=\"{{url}}\">Pourquoi?</a>)."
msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr "Tout ce que vous écrivez sur cette page \\nsera désormais <strong>public</strong> sur \\n ce site. (<a href=\"{{url}}\">Pourquoi?</a>)."
+msgstr "Une fois envoyé, le contenu de ce message sera <strong>public</strong> sur \\n ce site et accessible à tous. (<a href=\"{{url}}\">Pourquoi?</a>)."
msgid "FOI"
msgstr "Demande d'accès aux documents"
@@ -763,7 +763,7 @@ msgid "First, did your other requests succeed?"
msgstr "Premièrement, est-ce que vos autres demandes ont réussi?"
msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
-msgstr "Commencer par écrire le <strong>nom de l'organisme</strong> à \\n solliciter. <strong>Légalement, elle est obligée de répondre </strong>.\\n (<a href=\"{{url}}\">Pourquoi?</a>)."
+msgstr "Commencez par écrire le <strong>nom de l'organisme</strong> à \\n solliciter ou consultez la <a href=\"/body/list/all\">liste exhaustive</a> des organismes. <strong>Légalement, celui-ci est tenu de répondre</strong>.\\n (<a href=\"{{url}}\">Pourquoi?</a>)."
msgid "Foi attachment"
msgstr "Foi attachment"
@@ -819,15 +819,24 @@ msgstr "Suivre cette personne "
msgid "Follow this request"
msgstr "Suivre cette demande"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
-msgstr "Suivre"
+msgstr "Message de suivi"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Suivre les messages envoyés par le demandeur"
msgid "Follow up messages to existing requests are sent to "
msgstr "Les messages de suivi des demandes existantes sont envoyés "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Les messages de suivi et les nouvelles réponses à cette demande ont été arrêtés afin de prévenir le pourriel. Veuillez <a href=\"{{url}}\">nous contacter </a> si vous êtes {{user_link}} et que vous avez besoin d'envoyer un message de suivi."
@@ -855,13 +864,13 @@ msgid "Freedom of Information Act"
msgstr "Loi portant sur le droit d'accès aux documents"
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
-msgstr "Le droit d'accès aux documents ne s'applique pas à cette autorité. Vous ne pouvez donc pas \\n lui adresser de demandes."
+msgstr "Le droit d'accès aux documents ne s'applique pas à cet organisme. Vous ne pouvez donc pas \\n lui adresser de demandes."
msgid "Freedom of Information law no longer applies to"
msgstr "Le droit d'accès aux documents ne s'applique plus à"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr "Le droit d'accès aux documents ne s'applique plus à cette autorité. Les messages de suivi pour les demandes existantes sont envoyés à"
+msgstr "Le droit d'accès aux documents ne s'applique plus à cet organisme. Les messages de suivi pour les demandes existantes sont envoyés à"
msgid "Freedom of Information requests made"
msgstr "Les demandes d'accès aux documents faites"
@@ -876,7 +885,7 @@ msgid "Freedom of Information requests made using this site"
msgstr "Les demandes d'accès aux documents envoyées via ce site web"
msgid "Freedom of information requests to"
-msgstr "Les demandes d'accès aux documents faites à"
+msgstr "Les demandes d'accès aux documents faites"
msgid "From"
msgstr "De"
@@ -915,13 +924,13 @@ msgid "Help"
msgstr "Aide"
msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
-msgstr "Ici, <strong>described</strong> fait référence au moment où un utilisateur sélectionne un statut pour la requête et \\n l'événement le plus récent a mis à jour son statut à cette valeur. <strong>calculated</strong> est alors inféré par \\n{{site_name}} pour les événements intermédiaires, qui n'ont pas reçu de description explicite\\npar un utilisateur. Voir les <a href=\"{{search_path}}\">conseils de recherche</a> pour une description des statuts."
+msgstr "Ici, <strong>described_state</strong> fait référence au moment où un utilisateur a sélectionné un statut pour la demande et \\n où l'événement le plus récent a été mis à jour à cette valeur. <strong>calculated_state</strong> est une valeur inférée par \\n{{site_name}} pour les événements intermédiaires qui n'ont pas reçu de description explicite\\npar un utilisateur. Voir les <a href=\"{{search_path}}\">conseils de recherche</a> pour une description des statuts."
msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
msgstr "Voici le message que vous avez écrit, au cas où vous souhaiteriez copier le texte et l'enregistrer pour plus tard."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
-msgstr "Bonjour! Nous avons besoin de votre aide. La personne qui a effectué cette demande \\n ne nous a pas dit si elle avait reçu une réponse . Veuillez prendre quelques minutes pour lire et nous aider à classer la demande . \\n Merci."
+msgstr "Bonjour! Nous avons besoin de votre aide. La personne qui a effectué cette demande \\n ne nous a pas dit si elle avait reçu une réponse. Veuillez prendre quelques minutes pour lire et nous aider à classer la demande . \\n Merci."
msgid "Hide request"
msgstr "Masquer la demande"
@@ -942,7 +951,7 @@ msgid "Home page"
msgstr "Page d'accueil"
msgid "Home page of authority"
-msgstr "Page web de l'autorité"
+msgstr "Page web de l'organisme public"
msgid "However, you have the right to request environmental\\n information under a different law"
msgstr "Cependant, vous avez le droit de demander des \\n informations environnementales en vertu d'une loi différente."
@@ -966,13 +975,13 @@ msgid "I don't want to do any more tidying now!"
msgstr "J'ai assez fait de classification pour le moment!"
msgid "I like this request"
-msgstr "J'aime cette demande "
+msgstr "Suivre"
msgid "I would like to <strong>withdraw this request</strong>"
msgstr "Je voudrais <strong>retirer cette demande</strong>."
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
-msgstr "Je suis encore <strong>en attente </strong>d'une réponse \\n <small>(peut-être avez-vous reçu un accusé de reception )</small>"
+msgstr "Je suis encore <strong>en attente </strong>d'une réponse \\n <small>(peut-être avez-vous reçu un accusé de réception)</small>"
msgid "I'm still <strong>waiting</strong> for the internal review"
msgstr "Je suis toujours en <strong>attente</strong> d'une révision interne."
@@ -987,7 +996,7 @@ msgid "I've received <strong>all the information"
msgstr "J'ai reçu <strong>toute les informations"
msgid "I've received <strong>some of the information</strong>"
-msgstr "J'air reçu <strong>une partie des informations</strong>"
+msgstr "J'ai reçu <strong>une partie des informations</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "J'ai reçu un <strong>message d'erreur</strong>."
@@ -999,28 +1008,28 @@ msgid "Id"
msgstr "Id"
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
-msgstr "Si l'adresse est erronée ou si vous connaissez une meilleure adresse, veuillez <a href=\"{{url}}\">nous contactez</a>."
+msgstr "Si l'adresse est erronée ou si vous connaissez une meilleure adresse, veuillez <a href=\"{{url}}\">nous contacter</a>."
msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
-msgstr "Si l'erreur consiste en un échec de livraison et que vous pouvez trouver l'actuelle adresse courriel de l'organisme pour les demandes d'accès aux documents, veuillez nous en informer en utilisant le formulaire ci-dessous."
+msgstr "Si l'erreur consiste en un échec de livraison ou tout autre message d'erreur reçu en réponse à votre demande, veuillez nous en informer en utilisant le formulaire ci-dessous."
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr "Si cela est incorrect ou si vous souhaitez envoyer une réponse tardive à la demande \\n ou encore un courriel à un autre sujet à {{user}}, veuillez écrire à {{contact_email}} ."
msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
-msgstr "Si vous n'êtes pas satisfait de la réponse fournie par l'autorité, vous avez le droit de porter plainte (<a href=\"{{url}}\">détails</a>)."
+msgstr "Si vous n'êtes pas satisfait de la réponse fournie par l'organisme public, vous avez un droit de révision (<a href=\"{{url}}\">détails</a>)."
msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
msgstr "Si vous rencontrez toujours des problèmes, veuillez <a href=\"{{url}}\">nous contacter</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
-msgstr ""
+msgstr "Si vous êtes le demandeur, vous pouvez vous <a href=\"{{url}}\">connecter</a> pour voir le message."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr "Si vous êtes le demandeur, vous pouvez <a href=\"{{url}}\">vous connecter</a> pour voir la demande."
+msgstr "Si vous êtes le demandeur, vous pouvez vous <a href=\"{{url}}\">connecter</a> pour voir la demande."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
-msgstr "Si vous envisagez d'utiliser un pseudonyme, \\\\ veuillez <a href=\"{{url}}\">lire ceci</a>."
+msgstr "Si vous envisagez d'utiliser un pseudonyme, \\n veuillez <a href=\"{{url}}\">lire ceci</a>."
msgid "If you are {{user_link}}, please"
msgstr "Si vous êtes {{user_link}}, merci de "
@@ -1059,7 +1068,7 @@ msgid "If you've used {{site_name}} before"
msgstr "Si vous avez utilisé {{site_name}} avant"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
-msgstr "Si votre navigateur accepte les coockies et que ce message affiché , \\n l'erreur est probablement liée à notre serveur"
+msgstr "Si votre navigateur accepte les coockies et que ce message est affiché, \\n l'erreur est probablement liée à notre serveur"
msgid "Incoming email address"
msgstr "Adresse du courrier entrant"
@@ -1086,10 +1095,10 @@ msgid "IncomingMessage|Mail from domain"
msgstr "IncomingMessage|Mail from domain"
msgid "IncomingMessage|Prominence"
-msgstr ""
+msgstr "MessageEntrant|Proéminence"
msgid "IncomingMessage|Prominence reason"
-msgstr ""
+msgstr "MessageEntrant|Raison proéminente"
msgid "IncomingMessage|Sent at"
msgstr "IncomingMessage|Sent at"
@@ -1194,7 +1203,7 @@ msgid "Just one more thing"
msgstr "Une dernière chose"
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
-msgstr "Soyez <strong> précis </strong>, vous aurez plus de chances d'obtenir ce que vous voulez (<a href=\"{{url}}\">pourquoi?</a>)."
+msgstr "Soyez <strong>précis</strong>, vous aurez plus de chance d'obtenir ce que vous voulez (<a href=\"{{url}}\">pourquoi?</a>)."
msgid "Keywords"
msgstr "Mots-clés"
@@ -1266,7 +1275,7 @@ msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<
msgstr "Faire une nouvelle<br/>\\n <strong>demande <span>d'accès</span><br/>\\n aux documents<br/>\\n</strong>"
msgid "Make a request"
-msgstr "Demander un document"
+msgstr "Faire une demande"
msgid "Make a request to this authority"
msgstr "Faire une demande à cet organisme"
@@ -1278,7 +1287,7 @@ msgid "Make and browse Freedom of Information (FOI) requests"
msgstr "Envoyer et rechercher des demandes d'accès aux documents"
msgid "Make your own request"
-msgstr "Créer votre propre demande"
+msgstr "Faites votre propre demande"
msgid "Many requests"
msgstr "Beaucoup de demandes"
@@ -1287,7 +1296,7 @@ msgid "Message"
msgstr "Message"
msgid "Message has been removed"
-msgstr ""
+msgstr "Ce message a été supprimé"
msgid "Message sent using {{site_name}} contact form, "
msgstr "Message envoyé en utilisant le formulaire {{site_name}}"
@@ -1347,7 +1356,7 @@ msgid "New response to '{{title}}'"
msgstr "Nouvelle réponse à '{{title}}'"
msgid "New response to your FOI request - "
-msgstr "Nouvelle réponse à votre demande d'accès aux documents"
+msgstr "Nouvelle réponse à votre demande d'accès aux documents - "
msgid "New response to your request"
msgstr "Nouvelle réponse à votre demande"
@@ -1386,7 +1395,7 @@ msgid "None found."
msgstr "Aucun résultat trouvé."
msgid "None made."
-msgstr "Aucune demande."
+msgstr "Aucun."
msgid "Not a valid FOI request"
msgstr "Pas une demande valide d'accès aux documents"
@@ -1398,22 +1407,22 @@ msgid "Now check your email!"
msgstr "Maintenant, vérifiez votre courriel!"
msgid "Now preview your annotation"
-msgstr "Maintenant, prévisualisez votre annotation"
+msgstr "Vous pouvez maintenant relire votre annotation"
msgid "Now preview your follow up"
-msgstr "Maintenant, prévisualisez votre suivi"
+msgstr "Vous pouvez maintenant relire votre message"
msgid "Now preview your message asking for an internal review"
-msgstr "Maintenant, prévisualisez votre message demandant un examen interne"
+msgstr "Maintenant, visualisez votre message demandant un examen interne"
msgid "Number of requests"
-msgstr ""
+msgstr "Nombre de demandes"
msgid "OR remove the existing photo"
msgstr "OU effacer la photo existante"
msgid "Offensive? Unsuitable?"
-msgstr "Offensif? Inapproprié?"
+msgstr "Contenu inapproprié?"
msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
msgstr "Oh non! Nous sommes désolés d'apprendre que votre demande a été refusée. Voici ce qu'il faut faire maintenant."
@@ -1473,10 +1482,10 @@ msgid "OutgoingMessage|Message type"
msgstr "OutgoingMessage|Message type"
msgid "OutgoingMessage|Prominence"
-msgstr ""
+msgstr "MessageSortant|Proéminence"
msgid "OutgoingMessage|Prominence reason"
-msgstr ""
+msgstr "MessageSortant|Raison proéminente"
msgid "OutgoingMessage|Status"
msgstr "OutgoingMessage|Status"
@@ -1503,16 +1512,16 @@ msgid "People"
msgstr "Citoyens"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr "Les gens {{start_count}} à {{end_count}} de {{total_count}}"
+msgstr "Les gens {{start_count}} à {{end_count}} de {{total_count}}"
msgid "Percentage of requests that are overdue"
-msgstr ""
+msgstr "Pourcentage de demandes en retard"
msgid "Percentage of total requests"
-msgstr ""
+msgstr "Pourcentage total"
msgid "Photo of you:"
-msgstr "Votre photo :"
+msgstr "Votre photo:"
msgid "Plans and administrative measures that affect these matters"
msgstr "Les plans et les mesures administratives qui touchent ces questions"
@@ -1527,7 +1536,7 @@ msgid "Please"
msgstr "Veuillez"
msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "N'hésitez pas à nous <a href=\"{{url}}\">contacter</a> si vous avez des questions."
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
msgstr "Veuillez <a href=\"{{url}}\">nous contacter </a> afin que nous puissions le corriger."
@@ -1539,7 +1548,7 @@ msgid "Please <strong>go to the following requests</strong>, and let us\\n
msgstr "Veuillez <strong> aller aux demandes suivantes </strong> et dites-\\nnous si les réponses contiennent l'information demandée."
msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
-msgstr "Veuillez écrire des messages <strong>uniquement</strong>reliés à votre demande {{request_link}}. Si vous souhaitez demander des informations qui n'étaient pas dans votre demande initiale, alors <a href=\"{{new_request_link}}\"> veuillez déposer une nouvelle demande</a>."
+msgstr "Ce message doit <strong>seulement</strong> concerner votre demande {{request_link}}. Si vous souhaitez demander des informations qui n'étaient pas dans votre demande initiale, alors <a href=\"{{new_request_link}}\">veuillez envoyer une nouvelle demande</a>."
msgid "Please ask for environmental information only"
msgstr "Veuillez demander uniquement des informations liées à l'environnement"
@@ -1569,10 +1578,10 @@ msgid "Please click on the link below to confirm your email address."
msgstr "Veuillez cliquer sur le lien ci-dessous pour confirmer votre adresse courriel."
msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
-msgstr "Merci d'indiquer le thème de votre requête dans le champ du sujet. Il n'est pas nécessaire d'indiquer qu'il s'agit d'une demande d'accès aux documents, nous le précisons par défaut."
+msgstr "Merci d'indiquer le thème de votre demande dans le champ du sujet. Il n'est pas nécessaire d'indiquer qu'il s'agit d'une demande d'accès aux documents, nous le précisons par défaut."
msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
-msgstr "Veuillez ne pas mettre en ligne des images offensantes. Nous supprimerons les images qui nous semblent inappropriées."
+msgstr "Veuillez ne pas mettre en ligne des images inappropriées. Nous supprimerons les images le cas échéant."
msgid "Please enable \"cookies\" to carry on"
msgstr "Veuillez autoriser les \"cookies\" pour poursuivre"
@@ -1671,13 +1680,13 @@ msgid "Please write your message using a mixture of capital and lower case lette
msgstr "Veuillez écrire un résumé en utilisant un mélange de lettres majuscules et minuscules. Cela rend la lecture plus facile."
msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
-msgstr "Indiquez <strong>les informations</strong>, les campagnes ou les forums qui peuvent être utiles."
+msgstr "Indiquez <strong>les informations</strong>, les campagnes ou les forums qui peuvent être utiles."
msgid "Possibly related requests:"
msgstr "Demandes similaires:"
msgid "Post annotation"
-msgstr "Publier une annotation:"
+msgstr "Publier cette annotation"
msgid "Post redirect"
msgstr "Post redirect"
@@ -1704,7 +1713,7 @@ msgid "Posted on {{date}} by {{author}}"
msgstr "Publié le {{date}} par {{author}}"
msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
-msgstr "Optimisé par <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr "Propulsé par <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
msgid "Prev"
msgstr "Prev"
@@ -1716,7 +1725,7 @@ msgid "Preview new annotation on '{{info_request_title}}'"
msgstr "Prévisualiser la nouvelle annotation sur '{{info_request_title}}'"
msgid "Preview your annotation"
-msgstr "Prévisualiser votre remarque"
+msgstr "Prévisualiser votre annotation"
msgid "Preview your message"
msgstr "Prévisualiser votre message"
@@ -1734,37 +1743,37 @@ msgid "ProfilePhoto|Draft"
msgstr "ProfilePhoto|Draft"
msgid "Public Bodies"
-msgstr ""
+msgstr "Organismes publics"
msgid "Public Body Statistics"
-msgstr ""
+msgstr "Statistiques de l'organisme"
msgid "Public authorities"
-msgstr "Public authorities"
+msgstr "Organismes publics"
msgid "Public authorities - {{description}}"
-msgstr "Public authorities - {{description}}"
+msgstr "Organismes publics - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr "Organismes gouvernementaux {{start_count}} à {{end_count}} de {{total_count}}"
+msgstr "Organismes publics {{start_count}} à {{end_count}} de {{total_count}}"
msgid "Public authority – {{name}}"
-msgstr "Public authority – {{name}}"
+msgstr "Organisme public – {{name}}"
msgid "Public bodies that most frequently replied with \"Not Held\""
-msgstr ""
+msgstr "Organismes publics qui affirment le plus souvent ne pas avoir le document demandé"
msgid "Public bodies with most overdue requests"
-msgstr ""
+msgstr "Organismes publics avec le plus de demandes en retard"
msgid "Public bodies with the fewest successful requests"
-msgstr ""
+msgstr "Organismes publics avec le plus de réponses négatives"
msgid "Public bodies with the most requests"
-msgstr ""
+msgstr "Organismes publics avec le plus de demandes"
msgid "Public bodies with the most successful requests"
-msgstr ""
+msgstr "Organismes publics avec les plus de réponses positives"
msgid "Public body"
msgstr "Public body"
@@ -1794,12 +1803,15 @@ msgid "PublicBody|Info requests count"
msgstr "PublicBody|Info requests count"
msgid "PublicBody|Info requests not held count"
-msgstr ""
+msgstr "OrganismePublic|Info comptage des documents \"non détenus\""
msgid "PublicBody|Info requests overdue count"
-msgstr ""
+msgstr "OrganismePublic|Info comptage des demandes en retard"
msgid "PublicBody|Info requests successful count"
+msgstr "OrganismePublic|Info comptage des demandes réussies"
+
+msgid "PublicBody|Info requests visible classified count"
msgstr ""
msgid "PublicBody|Last edit comment"
@@ -1872,7 +1884,7 @@ msgid "Refused."
msgstr "Refusé."
msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
-msgstr "Se rappeler du mot de passe </label> (vous permet de rester connecté ;\\n à ne pas utiliser sur un ordinateur public) "
+msgstr "Se rappeler du mot de passe </label> (vous permet de rester connecté;\\n à ne pas utiliser sur un ordinateur public) "
msgid "Report abuse"
msgstr "Signaler un abus"
@@ -1914,22 +1926,22 @@ msgid "Requested on {{date}}"
msgstr "Demandé le {{date}}"
msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
-msgstr ""
+msgstr "Une demande est considéré en retard si son statut est \"en retard\" ou \"très en retard\"."
msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
-msgstr ""
+msgstr "Un demande est considérée réussie si elle a été classifiée comme \"Réussie\" ou \"Partielle réussie\""
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
-msgstr "Les demandes de renseignements personnels et les demandes abusives ne sont pas considérées comme des demandes valides (<a href=\"/help/about\">Davantage de détails</a>)."
+msgstr "En cas de contenu inapproprié (langage violent, diffamatoire, etc.), nous nous réservons le droit de retirer une demande (<a href=\"/help/about\">Davantage de détails</a>)."
msgid "Requests or responses matching your saved search"
msgstr "Les demandes ou les réponses correspondant à votre recherche sauvegardée"
msgid "Requests similar to '{{request_title}}'"
-msgstr ""
+msgstr "Autre demandes similaires à '{{request_title}}'"
msgid "Requests similar to '{{request_title}}' (page {{page}})"
-msgstr ""
+msgstr "Demandes similaires à '{{request_title}}' (page {{page}})"
msgid "Respond by email"
msgstr "Répondre par courriel"
@@ -2006,25 +2018,25 @@ msgstr[0] "Cherchez parmi la {{count}} demande faite à {{public_body_name}}"
msgstr[1] "Cherchez parmi les {{count}} demandes faites à {{public_body_name}}"
msgid "Search your contributions"
-msgstr "Chercher vos contributions"
+msgstr "Chercher dans vos demandes"
msgid "See bounce message"
msgstr "Voir le message de rebond"
msgid "Select one to see more information about the authority."
-msgstr "Sélectionnez l'une pour voir plus d'informations sur l'organisme."
+msgstr "Cliquez sur un des organismes pour obtenir plus de détails."
msgid "Select the authority to write to"
msgstr "Sélectionner un organisme pour lui écrire "
msgid "Send a followup"
-msgstr "Envoyer un suivi"
+msgstr "Envoyer un message de suivi"
msgid "Send a message to "
-msgstr "Envoyer un message à"
+msgstr "Envoyer un message à "
msgid "Send a public follow up message to {{person_or_body}}"
-msgstr "Envoyer un message de suivi à {{person_or_body}}"
+msgstr "Envoyer un message de suivi au {{person_or_body}}"
msgid "Send a public reply to {{person_or_body}}"
msgstr "Envoyer une réponse publique à {{person_or_body}}"
@@ -2036,7 +2048,7 @@ msgid "Send message"
msgstr "Envoyer un message"
msgid "Send message to "
-msgstr "Envoyer un message à"
+msgstr "Envoyer un message à "
msgid "Send request"
msgstr "Envoyer une demande "
@@ -2057,7 +2069,7 @@ msgid "Show only..."
msgstr "Afficher uniquement…"
msgid "Showing"
-msgstr "Il y a"
+msgstr "Montrer: "
msgid "Sign in"
msgstr "Connexion"
@@ -2102,10 +2114,10 @@ msgid "Sorry - you cannot respond to this request via {{site_name}}, because thi
msgstr "Vous ne pouvez pas répondre à cette demande via {{site_name}} parce que c'est une copie de la demande originale ici {{link_to_original_request}}."
msgid "Sorry, but only {{user_name}} is allowed to do that."
-msgstr "Désolés, mais seulement {{user_name}} est autorisé à faire cela."
+msgstr "Désolé, mais seulement {{user_name}} est autorisé à faire cela."
msgid "Sorry, there was a problem processing this page"
-msgstr "Désolés, il y a eu un problème durant le traitement de la page"
+msgstr "Désolé, il y a eu un problème durant le traitement de la page"
msgid "Sorry, we couldn't find that page"
msgstr "Page introuvable."
@@ -2114,7 +2126,7 @@ msgid "Special note for this authority!"
msgstr "Remarque spéciale pour cet organisme!"
msgid "Start now &raquo;"
-msgstr "Commencez dès maintenant &raquo;"
+msgstr "C'est ici! &raquo;"
msgid "Start your own blog"
msgstr "Commencez votre blog"
@@ -2138,7 +2150,7 @@ msgid "Submit status"
msgstr "Soumettre un statut"
msgid "Submit status and send message"
-msgstr "Soumettre un statut et envoyer un message"
+msgstr "Envoyer le message"
msgid "Subscribe to blog"
msgstr "S'abonner au blog"
@@ -2150,7 +2162,7 @@ msgid "Successful."
msgstr "Réussi."
msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
-msgstr "Indiquer comment le demandeur peut trouver le <strong>reste de l'information</strong>."
+msgstr "Indiquez comment le demandeur peut trouver le <strong>reste de l'information</strong>."
msgid "Summary:"
msgstr "Résumé:"
@@ -2183,7 +2195,7 @@ msgid "Thank you for responding to this FOI request! Your response has been publ
msgstr "Merci d'avoir répondu à cette demande d'accès aux documents! Votre réponse a été publiée ci-dessous et un lien vers votre réponse a été envoyé par courriel à "
msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
-msgstr "Merci d'avoir mis à jour le staut de la demande '<a href=\"{{url}}\">{{info_request_title}}</a>'. Il y a encore quelques demandes ci-dessous à classer."
+msgstr "Merci d'avoir mis à jour le statut de la demande '<a href=\"{{url}}\">{{info_request_title}}</a>'. Il y a encore quelques demandes ci-dessous à classer."
msgid "Thank you for updating this request!"
msgstr "Merci d'avoir mis à jour cette demande!"
@@ -2192,7 +2204,7 @@ msgid "Thank you for updating your profile photo"
msgstr "Merci d'avoir mis à jour votre photo de profil"
msgid "Thank you! We'll look into what happened and try and fix it up."
-msgstr "Merci! Nous allons examiner ce qui s'est passé et essayer de le corriger."
+msgstr "Merci! Nous allons examiner ce qui s'est passé et essayer de corriger le problème."
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr "Merci de nous aider! Grâce à votre travail, il sera plus facile pour tout le monde de trouver avec succès \\ n des réponses à leurs questions."
@@ -2216,7 +2228,7 @@ msgid "The accounts have been left as they previously were."
msgstr "Les comptes ont été laissés tels quels."
msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
-msgstr "L'organisme <strong>ne détient pas </strong> l'information <small>(peut-être précise-t-elle qui la détient)</small>"
+msgstr "L'organisme <strong>ne détient pas </strong> l'information <small>(peut-être précise-t-il qui la détient)</small>"
msgid "The authority only has a <strong>paper copy</strong> of the information."
msgstr "L'organisme a uniquement <strong>la version papier </strong> de ce document."
@@ -2228,19 +2240,19 @@ msgid "The authority would like to / has <strong>responded by post</strong> to t
msgstr "L'organisme aimerait répondre ou a répondu <strong> par la poste </strong> à cette demande."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "La classification des demandes (c'est-à-dore si un demande a été répondue positivement ou non) est faite manuellement par les utilisateurs et les administrateurs du site. En d'autres termes, il se peut que des erreurs se glissent dans cette classification."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
msgstr "Le message que vous avez envoyé au nom de {{public_body}} à \\n{{user}} en réponse à la demande {{law_used_short}}\\n n'a pas été livré."
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
-msgstr ""
+msgstr " "
msgid "The page doesn't exist. Things you can try now:"
msgstr "La page n'existe pas. Vous pouvez essayer de :"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Ces pourcentages sont calculés en fonction du nombre total de demandes, incluant les demandes invalides. C'est un problème connu qui sera corrigé dans une prochaine version."
msgid "The public authority does not have the information requested"
msgstr "L'organisme n'a pas les informations demandées"
@@ -2279,13 +2291,13 @@ msgid "The requester has abandoned this request for some reason"
msgstr "Le demandeur a renoncé à cette demande pour une raison quelconque"
msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
-msgstr "La réponse à votre demande a été <strong> retardée </strong>. Vous pouvez dire que, \\n selon la loi, l'organisme aurait normalement dû répondre \\n <strong>rapidement</strong> et "
+msgstr "La réponse à votre demande a été <strong> retardée </strong>. Selon la loi, l'organisme aurait normalement dû répondre \\n <strong>rapidement</strong> et "
msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr "La réponse à votre demande est <strong>très en retard </strong>. Selon la loi, en toutes circonstances, l'organisme aurait dû déjà répondre \\n"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
-msgstr "Les fonctionnalités de recherche sont temporairement indisponibles. C'est pour cette raison que nous ne pouvons afficher les demandes d'information relative à cet organisme."
+msgstr "Les fonctionnalités de recherche sont temporairement indisponibles. C'est pour cette raison que nous ne pouvons afficher les demandes d'information relatives à cet organisme."
msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
msgstr "Les fonctionnalités de recherche sont temporairement indisponibles. Nous ne pouvons donc pas afficher les demandes d'accès aux documents que cette personne a effectuées."
@@ -2380,13 +2392,13 @@ msgstr[0] "Il y a {{count}} personne qui suit cette demande "
msgstr[1] "Il y a {{count}} personnes qui suivent cette demande "
msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
-msgstr "Il y a eu <strong> une erreur de transmission </strong> ou autre, qui doit être corrigée par l'équipe de {{site_name}}."
+msgstr "Il y a eu <strong> une erreur de transmission </strong> ou autre qui doit être corrigée par l'équipe de {{site_name}}."
msgid "There was an error with the words you entered, please try again."
msgstr "Il y a une erreur liée aux mots saisis. Veuillez réessayer. "
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "Aucune donnée n'a encore été calculée pour ce graph."
msgid "There were no requests matching your query."
msgstr "Aucune demande d'information ne correspond à votre recherche."
@@ -2395,19 +2407,19 @@ msgid "There were no results matching your query."
msgstr "Aucun résultat ne correspond à votre recherche."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Ces graphiques sont en partie inspirés du <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">travail</a> réalisé par Mark Goodge pour WhatDoTheyKnow. Nous tenons à l'en remercier!"
msgid "They are going to reply <strong>by post</strong>"
msgstr "Ils vont répondre <strong>par la poste</strong>"
msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
-msgstr "Ils <strong>ne détiennent pas </strong> l'information <small> (peut-être précise-t-il qui la détient)</small>"
+msgstr "Ils <strong>ne détiennent pas </strong> l'information"
msgid "They have been given the following explanation:"
msgstr "Ils ont reçu l'explication suivante:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr "Ils n'ont pas répondu à votre {{law_used_short}} demande {{title}} rapidement, comme la loi l'oblige"
+msgstr "Ils n'ont pas répondu à votre {{law_used_short}} demande {{title}} rapidement, comme la loi l'oblige"
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
msgstr "Ils n'ont pas répondu à votre {{law_used_short}} demande {{title}}, \\n comme la loi l'oblige "
@@ -2440,28 +2452,28 @@ msgid "This is the first version."
msgstr "Ceci est la première version."
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
-msgstr "Ceci est votre demande, alors vous recevrez un courriel lorsque de nouvelles réponses seront soumises."
+msgstr "Ceci est votre demande, vous recevrez donc un courriel à la réception de nouvelles communications."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Ce message a été caché."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Ce message a été caché. Plusieurs raisons expliquent une telle décision. Désolé, nous ne pouvons pas être plus précis."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ce message est \"caché\". Vous pouvez le voir car vous avec le statut de super utilisateur."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ce message est \"caché\". {{reason}} Vous pouvez le voir car vous avez le statut de super utilisateur."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Ce message est caché. Seul vous, le demandeur, pouvez le voir. N'hésitez pas à nous <a href=\"{{url}}\">contacter</a> si vous ne comprenez pas pourquoi."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Ce message est caché. Seul vous, le demandeur, pouvez le voir. {{reason}}"
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Cette page de statistique est expérimentale. Voici quelques limitations connues:"
msgid "This particular request is finished:"
msgstr "Cette demande particulière est achevée:"
@@ -2531,7 +2543,7 @@ msgid "This request was not made via {{site_name}}"
msgstr "Cette demande n'a pas été faite à travers {{site_name}}"
msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
-msgstr "Ce tableau montre les détails techniques de cet événement interne survenu \\n dans le cadre de cette requête sur {{site_name}}. Cela pourrait être utilisé dans le but de générer de l'information au sujet \\n de la rapidité à laquelle les autorités répondent aux demandes, du nombre de demandes \\n exigeant une réponse par la poste, et bien plus encore."
+msgstr "Ce tableau détaille les événements techniques liés à cette demande. Cette information peut vous aider à retracer la suite des événements et, par exemple, à voir avec précision quand ont été échangés les différents messages."
msgid "This user has been banned from {{site_name}} "
msgstr "Cet utilisateur a été banni de {{site_name}}"
@@ -2552,10 +2564,10 @@ msgid "To change your email address used on {{site_name}}"
msgstr "Pour changer l'adresse courriel utilisée sur {{site_name}}"
msgid "To classify the response to this FOI request"
-msgstr "Pour classer la réponse à cette demande d'accès àaux documents"
+msgstr "Pour classer la réponse à cette demande d'accès aux documents"
msgid "To do that please send a private email to "
-msgstr "Pour ce faire, veuillez envoyer un courriel privé à"
+msgstr "Pour ce faire, veuillez envoyer un courriel privé à "
msgid "To do this, first click on the link below."
msgstr "Pour ce faire, cliquez d'abord sur le lien ci-dessous."
@@ -2582,7 +2594,7 @@ msgid "To follow the request '{{request_title}}'"
msgstr "Pour suivre la demande '{{request_title}}'"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr "Pour nous aider à maintenir ce site, une personne a mis à jour l'état de la \\n{{law_used_full}} demande {{title}} que vous avez adressée à {{public_body}} à \"{{display_status}}\". Si vous êtes en désaccord avec leur catégorisation, veuillez ajuster le statut à ce que vous croyez juste."
+msgstr "Pour nous aider à maintenir ce site, une personne a mis à jour l'état de la \\n demande d'accès aux document {{title}} que vous avez adressée à {{public_body}} à \"{{display_status}}\". Si vous êtes en désaccord avec ce choix, veuillez en modifier le statut."
msgid "To let everyone know, follow this link and then select the appropriate box."
msgstr "Pour le faire savoir à tous, suivez ce lien et sélectionnez ensuite la case appropriée."
@@ -2618,7 +2630,7 @@ msgid "To upload a response, you must be logged in using an email address from "
msgstr "Pour mettre en ligne une réponse, vous devez être connecté en utilisant une adresse courriel de"
msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
-msgstr "Pour utiliser la recherche avancée, associez les termes et les étiquettes comme indiqué ci-dessous."
+msgstr "Pour utiliser la recherche avancée, associez les termes et les tags comme indiqué ci-dessous."
msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
msgstr "Pour afficher l'adresse courriel que nous utilisons pour envoyer des demandes d'accès aux documents à {{public_body_name}}, veuillez saisir ces mots."
@@ -2630,7 +2642,7 @@ msgid "To {{public_body_link_absolute}}"
msgstr "À {{public_body_link_absolute}}"
msgid "To:"
-msgstr "à:"
+msgstr "Destinataire:"
msgid "Today"
msgstr "Aujourd'hui"
@@ -2731,18 +2743,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "User|Address"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "User|Dob"
-
msgid "User|Email"
msgstr "User|Email"
@@ -2795,7 +2801,7 @@ msgid "View Freedom of Information requests made by {{user_name}}:"
msgstr "Voir les demandes faites par {{user_name}}:"
msgid "View and search requests"
-msgstr "Visualiser et parcourir les demandes d'information"
+msgstr "Parcourir les demandes passées"
msgid "View authorities"
msgstr "Voir les organismes"
@@ -2804,7 +2810,7 @@ msgid "View email"
msgstr "Voir le courriel"
msgid "View requests"
-msgstr "Voir les requêtes"
+msgstr "Voir les demandes"
msgid "Waiting clarification."
msgstr "En attente de clarification"
@@ -2813,10 +2819,10 @@ msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} o
msgstr "En attente <strong>d'une révision interne</strong> par {{public_body_link}} à propos de leur gestion de la demande."
msgid "Waiting for the public authority to complete an internal review of their handling of the request"
-msgstr "En attente que l'autorité administrative complète une révision interne de leur gestion de la demande"
+msgstr "En attente que l'organisme public complète une révision interne de leur gestion de la demande"
msgid "Waiting for the public authority to reply"
-msgstr "En attente de la réponse de l'autorité administrative"
+msgstr "En attente de la réponse de l'organisme public"
msgid "Was the response you got to your FOI request any good?"
msgstr "Êtes-vous satisfait de la réponse obtenue?"
@@ -2831,7 +2837,7 @@ msgid "We do not have a working request email address for this authority."
msgstr "Nous n'avons pas d'adresse courriel valide pour cet organisme."
msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
-msgstr "Nous ne disposons pas d'adresse {{law_used_full}} pour {{public_body_name}}."
+msgstr "Nous ne disposons pas d'adresse pour les demandes d'accès aux documents pour {{public_body_name}}."
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
msgstr "Nous ne savons pas si la réponse la plus récente à cette demande contient l'information \\n ou non \\n &ndash;\\n\tSi vous êtes {{user_link}}, veuillez <a href=\"{{url}}\">vous connecter</a> et nous le laisser savoir."
@@ -2870,19 +2876,19 @@ msgid "What information has been released?"
msgstr "Quelles informations ont été rendues publiques?"
msgid "What information has been requested?"
-msgstr "Quelles sont les informations ayant été demandées?"
+msgstr "Demandes envoyées"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
msgstr "Quand vous y arriverez, veuillez mettre à jour le statut et mentionnez si la réponse \\n contient une information utile."
msgid "When you receive the paper response, please help\\n others find out what it says:"
-msgstr "Lorsque vous recevez la réponse sur papier, veuillez \\ntenir les autres au courant sur son contenu:"
+msgstr "Lorsque vous recevez la réponse sur papier, veuillez \\ntenir les autres au courant de son contenu:"
msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
msgstr "Lorsque vous aurez terminé, <strong> revenez ici </ strong>, <a href=\"{{url}}\"> actualisez cette page </a> et déposez votre nouvelle demande."
msgid "Which of these is happening?"
-msgstr "Lequel se produit?"
+msgstr "Dans quelle situation êtes-vous?"
msgid "Who can I request information from?"
msgstr "À qui puis-je faire une demande d'information ?"
@@ -2951,10 +2957,10 @@ msgid "You can get this page in computer-readable format as part of the main JSO
msgstr "Vous pouvez obtenir cette page dans un format lisible électroniquement en tant que partie du fichier JSON principal. Voir <a href=\"{{api_path}}\">la documentation API </a>."
msgid "You can only request information about the environment from this authority."
-msgstr "Vous ne pouvez demander des informations concernant l'environnement de la part de cette autorité."
+msgstr "Vous ne pouvez demander des informations concernant l'environnement de la part de cet organisme."
msgid "You have a new response to the {{law_used_full}} request "
-msgstr "Vous avez une nouvelle réponse à la demande {{law_used_full}} "
+msgstr "Vous avez une nouvelle réponse concernant votre demande d'accès aux documents "
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
msgstr "Vous avez identifié un bogue. Merci de <a href=\"{{contact_url}}\">nous contacter</a> pour nous signaler ce problème"
@@ -2972,7 +2978,7 @@ msgid "You have now changed your email address used on {{site_name}}"
msgstr "Vous avez changé votre adresse courriel utilisée sur {{site_name}}"
msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
-msgstr "Vous avez essayé de vous inscrire sur {{site_name}}, alors que vous avez \\n déjà un compte. Votre nom et mot de passe ont été \\n laissés comme ils étaient auparavant. \\n\\nVeuillez cliquer sur le lien ci-dessous."
+msgstr "Vous avez essayé de vous inscrire sur {{site_name}}, alors que vous avez \\n déjà un compte. Votre nom et mot de passe ont été \\n laissés tels quels. \\n\\nVeuillez cliquer sur le lien ci-dessous."
msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
msgstr "Vous savez ce qui a causé l'erreur et pouvez <strong>conseiller une solution </strong>, comme une adresse courriel valide."
@@ -3020,7 +3026,7 @@ msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{
msgstr "Vous allez recevoir des courriels de mise à jour concernant {{track_description}}. <a href=\"{{change_email_alerts_url}}\"> Vous préférez ne pas recevoir de courriels?</a>"
msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
-msgstr "Vous ne pourrez obtenir une réponse à votre demande que si vous envoyer une \\n clarification."
+msgstr "Vous ne pourrez obtenir une réponse à votre demande que si vous envoyez une \\n clarification."
msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
msgstr "Vous pourrez toujours le voir lorsque vous serez connecté au site. Veuillez répondre à ce courriel si vous souhaitez discuter davantage de cette décision."
@@ -3038,7 +3044,7 @@ msgid "You've now cleared your profile photo"
msgstr "Vous avez supprimé votre photo de profil"
msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
-msgstr "Votre <strong>nom apparaîtra publiquement</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n sur ce site et sur les moteurs de recherche. Si vous \\n pensez utiliser un pseudonyme, veuillez \\n <a href=\"{{help_url}}\"> lire ceci </a>."
+msgstr "Votre <strong>nom apparaîtra publiquement</strong>\\n (<a href=\"{{why_url}}\">pourquoi?</a>)\\n sur ce site et sur les moteurs de recherche. Si vous \\n pensez utiliser un pseudonyme, veuillez \\n <a href=\"{{help_url}}\"> lire ceci </a>."
msgid "Your annotations"
msgstr "Vos commentaires "
@@ -3053,7 +3059,7 @@ msgid "Your follow up has not been sent because this request has been stopped to
msgstr "Votre message de suivi n'a pas été envoyé parce que cette demande a été interrompue afin de prévenir le spam. Veuillez <a href=\"{{url}}\">nous contacter</a>si vous voulez vraiment envoyer un message de suivi."
msgid "Your follow up message has been sent on its way."
-msgstr "Votre message de suivi a été envoyé ."
+msgstr "Votre message de suivi a été envoyé."
msgid "Your internal review request has been sent on its way."
msgstr "Votre demande de révision interne a été envoyée."
@@ -3062,7 +3068,7 @@ msgid "Your message has been sent. Thank you for getting in touch! We'll get bac
msgstr "Votre message a été envoyé. Merci de nous avoir écrit! Vous aurez des nouvelles très bientôt."
msgid "Your message to {{recipient_user_name}} has been sent"
-msgstr "Votre message à {{recipient_user_name}} a été envoyé"
+msgstr "Votre message à {{recipient_user_name}} a été envoyé"
msgid "Your message to {{recipient_user_name}} has been sent!"
msgstr "Votre message à {{recipient_user_name}} a été envoyé!"
@@ -3119,17 +3125,20 @@ msgstr[1] "Vos {{count}} demandes d'accès aux documents"
msgid "Your {{count}} annotation"
msgid_plural "Your {{count}} annotations"
-msgstr[0] "Votre {{count}} remarque"
-msgstr[1] "Vos {{count}} remarques"
+msgstr[0] "Votre {{count}} annotation"
+msgstr[1] "Vos {{count}} annotations"
msgid "Your {{site_name}} email alert"
msgstr "Votre alerte courriel de {{site_name}}"
msgid "Yours faithfully,"
-msgstr "Je vous prie de croire, Monsieur/Madame, à l'assurance de mes salutations distinguées,Sincèrement,"
+msgstr ""
+"Je vous prie de croire en l'assurance de mes salutations distinguées,\n"
+"\n"
+"Sincèrement,"
msgid "Yours sincerely,"
-msgstr "Sincèrement,"
+msgstr "Cordialement,"
msgid "Yours,"
msgstr "Sincèrement,"
@@ -3147,7 +3156,7 @@ msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had
msgstr "\\n\\n[ {{site_name}} Remarque: Le texte ci-dessus a été mal codé, et les caractères étranges ont été supprimés ]"
msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
-msgstr "un court résumé de l'information que vous demandez, \\n\t\t\te.g."
+msgstr "un court résumé du document ou de l'information que vous demandez, \\n\t\t\tpar exemple"
msgid "admin"
msgstr "admin"
@@ -3246,7 +3255,7 @@ msgid "external"
msgstr "externe"
msgid "has reported an"
-msgstr "à reporté un "
+msgstr "a reporté un "
msgid "have delayed."
msgstr "ont été retardées"
@@ -3342,10 +3351,10 @@ msgid "successful requests"
msgstr "demandes qui ont abouti"
msgid "that you made to"
-msgstr "que vous avez faite à "
+msgstr "que vous avez faite auprès de "
msgid "the main FOI contact address for {{public_body}}"
-msgstr "l'adresse principale du responsable de l'accès aux documents du {{public_body}}"
+msgstr "l'adresse principale du responsable de l'accès aux documents de l'organisme public"
#. This phrase completes the following sentences:
#. Request an internal review from...
@@ -3353,7 +3362,7 @@ msgstr "l'adresse principale du responsable de l'accès aux documents du {{publi
#. Send a public reply to...
#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
-msgstr "le responsable de l'accès aux documents du {{public_body}}"
+msgstr "responsable de l'accès aux documents du {{public_body}}"
msgid "the requester"
msgstr "Le demandeur"
@@ -3410,8 +3419,8 @@ msgstr[1] "{{count}} demandes d'accès aux documents à {{public_body_name}}"
msgid "{{count}} person is following this authority"
msgid_plural "{{count}} people are following this authority"
-msgstr[0] "{{count}} personne suit cette autorité"
-msgstr[1] "{{count}} personnes suivent cette autorité "
+msgstr[0] "{{count}} personne suit cet organisme public"
+msgstr[1] "{{count}} personnes suivent cet organisme public "
msgid "{{count}} request"
msgid_plural "{{count}} requests"
@@ -3430,13 +3439,10 @@ msgid "{{info_request_user_name}} only:"
msgstr "{{info_request_user_name}} uniquement:"
msgid "{{law_used_full}} request - {{title}}"
-msgstr "{{law_used_full}} demande - {{title}}"
-
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} demande - {{title}}"
+msgstr "{{law_used_full}} - {{title}}"
msgid "{{law_used}} requests at {{public_body}}"
-msgstr "{{law_used}} demandes à {{public_body}}"
+msgstr "{{law_used}} pour {{public_body}}"
msgid "{{length_of_time}} ago"
msgstr "depuis {{length_of_time}}"
@@ -3475,7 +3481,7 @@ msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, i
msgstr "{{site_name}} gère les demandes adressées à {{number_of_authorities}} institutions, dont celles-ci:"
msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
-msgstr "{{site_name}} envoie de nouvelles demandes <strong>{{request_email}}</strong> à cette autorité."
+msgstr "{{site_name}} envoie les nouvelles demandes d'accès aux documents pour cet organisme public à l'adresse suivante: <strong>{{request_email}}</strong>."
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Les utilisateurs de {{site_name}} ont envoyé {{number_of_requests}} demandes, dont celles-ci:"
@@ -3487,7 +3493,7 @@ msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - Une demande d'accès à l'information à {{public_body}}"
msgid "{{user_name}} (Account suspended)"
-msgstr "{{user_name}} (Compte suspendu)"
+msgstr "{{user_name}} (Compte suspend)"
msgid "{{user_name}} - Freedom of Information requests"
msgstr "{{user_name}} - Demandes d'accès à l'information"
@@ -3514,7 +3520,7 @@ msgid "{{username}} left an annotation:"
msgstr "{{username}} a laissé une remarque:"
msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
-msgstr "{{user}} ({{user_admin_link}}) a fait cette {{law_used_full}} demande (<a href=\"{{request_admin_url}}\">admin</a>) à {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr "{{user}} ({{user_admin_link}}) a fait cette demande (<a href=\"{{request_admin_url}}\">admin</a>) à {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
msgid "{{user}} made this {{law_used_full}} request"
-msgstr "{{user}} a fait cette {{law_used_full}} demande"
+msgstr "Cette demande a été faite par {{user}} "
diff --git a/locale/gl/app.po b/locale/gl/app.po
index f3e110f8d..d2bb6197e 100644
--- a/locale/gl/app.po
+++ b/locale/gl/app.po
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/alaveteli/language/gl/)\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
@@ -878,15 +878,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Seguir esta solicitud"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Seguimiento"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Respuesta enviada por el creador de la solicitud"
msgid "Follow up messages to existing requests are sent to "
msgstr "Las respuestas a solicitudes existentes se envían a "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Se han bloqueado nuevas respuestas a esta solicitud para prevenir spam. Por favor <a href=\"{{url}}\">contáctanos</a> si tú eres {{user_link}} y necesitas responder."
@@ -1918,6 +1927,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2905,18 +2917,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "User|Email"
@@ -3662,9 +3668,6 @@ msgstr "Sólo {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "solicitud {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "solicitud {{law_used_full}} - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/he_IL/app.po b/locale/he_IL/app.po
index 1c810ccca..1497ac25f 100644
--- a/locale/he_IL/app.po
+++ b/locale/he_IL/app.po
@@ -19,10 +19,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/alaveteli/language/he_IL/)\n"
"Language: he_IL\n"
"MIME-Version: 1.0\n"
@@ -821,15 +821,24 @@ msgstr "עקוב אחר האדם הזה"
msgid "Follow this request"
msgstr "עקבו אחר הבקשה"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "הודעת עדכון"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "הודעת עדכון נשלחה על ידי המבקש"
msgid "Follow up messages to existing requests are sent to "
msgstr "הודעות מעקב לבקשות קיימות נשלחות ל- "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "הודעות תגובה והודעות חדשות לבקשה זו נחסמו מחשש לדואר זבל. נא <a href=\"{{url}}\">צרו קשר</a> אם את/ה {{user_link}} וצריך לשלוח הודעת המשך."
@@ -1804,6 +1813,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last ערכו הערה"
@@ -2233,7 +2245,7 @@ msgid "The classification of requests (e.g. to say whether they were successful
msgstr ""
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
-msgstr "הדוא\"ל ששלחתם בשם {{public_body}}, ל- \\n{{user}} כדי להגיב על בקשת {{law_used_short}}\\nלא נמסר."
+msgstr "הדוא\"ל ששלחתם בשם {{public_body}}, ל-{{user}} כדי להגיב על בקשת {{law_used_short}} לא נשלח."
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
msgstr ""
@@ -2409,10 +2421,10 @@ msgid "They have been given the following explanation:"
msgstr "ניתן להם ההסבר הבא:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr "הם לא השיבו {{law_used_short}} לבקשתכם {{title}} מייד, כפי שקבוע בחוק"
+msgstr "לא התקבלה תגובה לבקשת {{law_used_short}} \"{{title}}\", כפי שקבוע בתקנות."
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
-msgstr "לא התקבלה תגובה לבקשת {{title}} לפי חוק {{law_used_short}, \\nפי שקבוע בחוק."
+msgstr "לא התקבלה תגובה לבקשת {{law_used_short}} \"{{title}}\", כפי שקבוע בתקנות."
msgid "Things to do with this request"
msgstr "דברים שניתן לעשות עם הבקשה"
@@ -2733,18 +2745,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "משתמש|כתובת"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "משתמש|תאריך לידה"
-
msgid "User|Email"
msgstr "User|Email"
@@ -3436,9 +3442,6 @@ msgstr "רק {{info_request_user_name}} –"
msgid "{{law_used_full}} request - {{title}}"
msgstr "בקשת {{law_used_full}} - {{title}} "
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} בקשת GQ - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} בקשות ב{{public_body}}"
diff --git a/locale/hr/app.po b/locale/hr/app.po
index b5a0a98fe..3716d41a9 100644
--- a/locale/hr/app.po
+++ b/locale/hr/app.po
@@ -10,10 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/alaveteli/language/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
@@ -862,15 +862,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Prati ovaj zahtjev"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Prateća poruka poslana od strane podnosioca zahtjeva"
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1897,6 +1906,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "Javno tijelo|Zadnji uređeni komentar"
@@ -2874,18 +2886,12 @@ msgstr ""
msgid "User|About me"
msgstr "Korisnik|O meni"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "Korisnik|Administratorski nivo"
msgid "User|Ban text"
msgstr "Korisnik|tekst isključenja"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "Korisnik|E-mail"
@@ -3614,9 +3620,6 @@ msgstr "{{info_request_user_name}} samo:"
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/hr_HR/app.po b/locale/hr_HR/app.po
index 397db45fb..635379c4d 100644
--- a/locale/hr_HR/app.po
+++ b/locale/hr_HR/app.po
@@ -10,10 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Croatian (Croatia) (http://www.transifex.com/projects/p/alaveteli/language/hr_HR/)\n"
"Language: hr_HR\n"
"MIME-Version: 1.0\n"
@@ -810,15 +810,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1794,6 +1803,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2727,18 +2739,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3434,9 +3440,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/hu_HU/app.po b/locale/hu_HU/app.po
index 3d67f6e4e..2819e699d 100644
--- a/locale/hu_HU/app.po
+++ b/locale/hu_HU/app.po
@@ -10,10 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/alaveteli/language/hu_HU/)\n"
"Language: hu_HU\n"
"MIME-Version: 1.0\n"
@@ -873,15 +873,24 @@ msgstr "Ezen felhasználó követése"
msgid "Follow this request"
msgstr "Értesítő igénylése az adatigényléssel kapcsolatos fejlemények vonatkozásában."
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Követés"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Nyomon követési üzenetet az igénylő elküldte "
msgid "Follow up messages to existing requests are sent to "
msgstr "Meglevő igénylésekre vonatkozóan nyomon követési üzeneteket küldtek a következőnek: "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "A levélszemét kiszűrése érdekében erre az igénylésre vonatkozóan nyomon követési üzenet és új válasz nem küldhető. <a href=\"{{url}}\">Lépjen velünk kapcsolatba</a>, ha ön {{user_link}} és nyomon követésre van szüksége. "
@@ -1919,6 +1928,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2908,18 +2920,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "User|Address"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "User|Dob"
-
msgid "User|Email"
msgstr "User|Email"
@@ -3659,9 +3665,6 @@ msgstr "Csak az adatigénylést beküldő {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "{{law_used_full}} igénylés - {{title}} "
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} igénylés GQ - {{title}} "
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} igénylések {{public_body}} adatgazdánál"
diff --git a/locale/id/app.po b/locale/id/app.po
index 758a7c9a4..be8301454 100644
--- a/locale/id/app.po
+++ b/locale/id/app.po
@@ -13,10 +13,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/alaveteli/language/id/)\n"
"Language: id\n"
"MIME-Version: 1.0\n"
@@ -901,15 +901,24 @@ msgstr "Ikuti orang ini"
msgid "Follow this request"
msgstr "Ikuti permintaan ini"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Tindak lanjuti"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Tindak lanjuti pesan yang dikirimkan oleh pemohon"
msgid "Follow up messages to existing requests are sent to "
msgstr "Pesan tindak lanjut terhadap permintaan yang ada dikirimkan ke "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Tindak lanjut dan respon baru terhadap permintaan ini telah dihentikan untuk mencegah spam. Silakan<a href=\"{{url}}\">hubungi kami</a> jika Anda {{user_link}} dan perlu mengirimkan tindak lanjut."
@@ -1942,6 +1951,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -2927,18 +2939,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "User | Address"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "User | Dob"
-
msgid "User|Email"
msgstr "User|Email"
@@ -3678,9 +3684,6 @@ msgstr "hanya {{info_request_user_name}} :"
msgid "{{law_used_full}} request - {{title}}"
msgstr "{{law_used_full}} permintaan - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} permintaan GQ - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} permintaan di {{public_body}}"
diff --git a/locale/it/app.po b/locale/it/app.po
index c65e7c819..4c9d1a684 100644
--- a/locale/it/app.po
+++ b/locale/it/app.po
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/alaveteli/language/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
@@ -496,28 +496,28 @@ msgid "Change your password on {{site_name}}"
msgstr "Cambia la tua password"
msgid "Change your password {{site_name}}"
-msgstr ""
+msgstr "Cambia la tua password su {{site_name}}"
msgid "Charity registration"
-msgstr ""
+msgstr "Registrazione NoProfit"
msgid "Check for mistakes if you typed or copied the address."
-msgstr ""
+msgstr "Verifica gli errori se hai digitato o copiato l'indirizzo."
msgid "Check you haven't included any <strong>personal information</strong>."
-msgstr ""
+msgstr "Verifica di non aver incluso nessuna <strong>informazione personale</strong>."
msgid "Choose your profile photo"
msgstr "Scegli una foto"
msgid "Clarification"
-msgstr ""
+msgstr "Chiarificazione"
msgid "Clarify your FOI request - "
msgstr ""
msgid "Classify an FOI response from "
-msgstr ""
+msgstr "Classifica una risposta da"
msgid "Clear photo"
msgstr ""
@@ -526,7 +526,7 @@ msgid "Click on the link below to send a message to {{public_body_name}} telling
msgstr ""
msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
-msgstr ""
+msgstr "Clicca sul link qui sotto per inviare un messaggio all'autorità pubblica {{public_body}} e ricordargli di rispondere alla tua richiesta."
msgid "Close"
msgstr ""
@@ -535,16 +535,16 @@ msgid "Comment"
msgstr ""
msgid "Comment|Body"
-msgstr ""
+msgstr "Comment|Corpo"
msgid "Comment|Comment type"
-msgstr ""
+msgstr "Comment|Tipo Commento"
msgid "Comment|Locale"
-msgstr ""
+msgstr "Comment|Ora locale"
msgid "Comment|Visible"
-msgstr ""
+msgstr "Comment|Visibile"
msgid "Confirm you want to follow all successful FOI requests"
msgstr ""
@@ -565,19 +565,19 @@ msgid "Confirm you want to follow the request '{{request_title}}'"
msgstr ""
msgid "Confirm your FOI request to "
-msgstr ""
+msgstr "Conferma la tua richiesta a"
msgid "Confirm your account on {{site_name}}"
-msgstr ""
+msgstr "Conferma il tuo account su {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
-msgstr ""
+msgstr "Conferma la tua annotazione su {{info_request_title}}"
msgid "Confirm your email address"
-msgstr ""
+msgstr "Conferma il tuo indirizzo email"
msgid "Confirm your new email address on {{site_name}}"
-msgstr ""
+msgstr "Conferma il tuo nuovo indirizzo email su {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
msgstr ""
@@ -589,10 +589,10 @@ msgid "Contact {{recipient}}"
msgstr ""
msgid "Contact {{site_name}}"
-msgstr ""
+msgstr "Contatta {{site_name}}"
msgid "Could not identify the request from the email address"
-msgstr ""
+msgstr "Potresti non identificare la richiesta dall'indirizzo email"
msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
msgstr "Il formato del file uploadato non è stato riconosciuto. Sono supportati i formati PNG, JPEG, GIF ed altri comuni formati."
@@ -604,10 +604,10 @@ msgid "Cultural sites and built structures (as they may be affected by the\\n
msgstr ""
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
-msgstr ""
+msgstr "Attualmente stiamo <strong>attendendo una risposta</strong> da {{public_body_link}}, essi dovranno rispondere velocemente e"
msgid "Date:"
-msgstr ""
+msgstr "Data:"
msgid "Dear {{name}},"
msgstr "Salve {{name}},"
@@ -622,25 +622,25 @@ msgid "Defunct."
msgstr ""
msgid "Delayed response to your FOI request - "
-msgstr ""
+msgstr "Risposta in attesa per la tua richiesta - "
msgid "Delayed."
-msgstr ""
+msgstr "In attesa"
msgid "Delivery error"
-msgstr ""
+msgstr "Errore di invio"
msgid "Destroy {{name}}"
msgstr ""
msgid "Details of request '"
-msgstr ""
+msgstr "Dettagli della richiesta '"
msgid "Did you mean: {{correction}}"
-msgstr ""
+msgstr "Volevi forse dire: {{correction}}"
msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
-msgstr ""
+msgstr "Disclaimer: Questo messaggio e le eventuali risposte che pubblicherai saranno pubblicate su internet. Queste sono le nostre policies in materia di privacy e copyright:"
msgid "Disclosure log"
msgstr ""
@@ -649,22 +649,22 @@ msgid "Disclosure log URL"
msgstr ""
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
-msgstr ""
+msgstr "Non vuoi inviare il tuo messaggio a {{person_or_body}}? Puoi anche scrivere a:"
msgid "Done"
-msgstr ""
+msgstr "Fatto"
msgid "Done &gt;&gt;"
msgstr ""
msgid "Download a zip file of all correspondence"
-msgstr ""
+msgstr "Scarica un file compresso .zip di tutta la corrispondenza"
msgid "Download original attachment"
-msgstr ""
+msgstr "Scarica l'allegato originale"
msgid "EIR"
-msgstr ""
+msgstr "EIR"
msgid "Edit"
msgstr ""
@@ -682,34 +682,34 @@ msgid "Either the email or password was not recognised, please try again."
msgstr "L'indirizzo email e/o la password non sono stati riconosciuti, prova di nuovo."
msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
-msgstr ""
+msgstr "La email e/o la password non sono state riconosciute, prova di nuovo. Oppure crea un nuovo account usando il formulario sulla destra."
msgid "Email doesn't look like a valid address"
-msgstr ""
+msgstr "L'indirizzo email inserito non ha un formato valido"
msgid "Email me future updates to this request"
-msgstr ""
+msgstr "Inviami per email futuri aggiornamenti su questa richiesta"
msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
-msgstr ""
+msgstr "Inserisci le parole che vuoi cercare separate da spazi, per es. <strong>via nazionale</strong>"
msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
msgstr ""
msgid "Environmental Information Regulations"
-msgstr ""
+msgstr "Environmental Information Regulations"
msgid "Environmental Information Regulations requests made"
-msgstr ""
+msgstr "Fatta una richiesta su Environmental Information Regulations "
msgid "Environmental Information Regulations requests made using this site"
-msgstr ""
+msgstr "Fatte richieste su Environmental Information Regulations usando questo sito"
msgid "Event history"
-msgstr ""
+msgstr "Storia dell'evento"
msgid "Event history details"
-msgstr ""
+msgstr "Dettagli della storia dell'evento"
msgid "Event {{id}}"
msgstr ""
@@ -721,34 +721,34 @@ msgid "Everything that you enter on this page\\n will be <strong>
msgstr "Tutte le cose che scrivi in questa pagina,\\n saranno <strong>rese pubbliche</strong> on\\n su questo sito per sempre (<a href=\"{{url}}\">perchè?</a>)."
msgid "FOI"
-msgstr ""
+msgstr "FOI"
msgid "FOI email address for {{public_body}}"
-msgstr ""
+msgstr "Indirizzo email dell'autorità pubblica {{public_body}}"
msgid "FOI request – {{title}}"
msgstr ""
msgid "FOI requests"
-msgstr ""
+msgstr "Richieste"
msgid "FOI requests by '{{user_name}}'"
-msgstr ""
+msgstr "Richieste fatte da '{{user_name}}'"
msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Richieste da {{start_count}} a {{end_count}} per un totale di {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
msgstr ""
msgid "Failed to convert image to a PNG"
-msgstr ""
+msgstr "Errore di conversione dell'immagine a PNG"
msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
msgstr ""
msgid "Filter"
-msgstr ""
+msgstr "Filtro"
msgid "First, did your other requests succeed?"
msgstr ""
@@ -760,25 +760,25 @@ msgid "Foi attachment"
msgstr ""
msgid "FoiAttachment|Charset"
-msgstr ""
+msgstr "FoiAttachment|Set caratteri"
msgid "FoiAttachment|Content type"
-msgstr ""
+msgstr "FoiAttachment|Tipo contenuto"
msgid "FoiAttachment|Display size"
-msgstr ""
+msgstr "FoiAttachment|Dimensioni visualizzazione"
msgid "FoiAttachment|Filename"
-msgstr ""
+msgstr "FoiAttachment|Nome file"
msgid "FoiAttachment|Hexdigest"
-msgstr ""
+msgstr "FoiAttachment|Hexdigest"
msgid "FoiAttachment|Url part number"
-msgstr ""
+msgstr "FoiAttachment|Url part number"
msgid "FoiAttachment|Within rfc822 subject"
-msgstr ""
+msgstr "FoiAttachment|Within rfc822 subject"
msgid "Follow"
msgstr "Segui"
@@ -799,28 +799,37 @@ msgid "Follow things matching this search"
msgstr ""
msgid "Follow this authority"
-msgstr ""
+msgstr "Segui questa autorità"
msgid "Follow this link to see the request:"
-msgstr ""
+msgstr "Vai a questo link per vedere la richiesta:"
msgid "Follow this person"
msgstr ""
msgid "Follow this request"
-msgstr ""
+msgstr "Segui questa richiesta"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
-msgstr ""
+msgstr "Risposta"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
-msgstr ""
+msgstr "Messaggio di risposta inviato dal richiedente"
msgid "Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Messaggi di risposta a richieste esistenti sono inviati a "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
-msgstr ""
+msgstr "Messaggi di risposta e nuove ulteriori risposte a questa richiesta sono stati fermati per prevenire lo spam. <a href=\"{{url}}\">Contattaci</a> se sei l'utente {{user_link}} e necessiti di inviare un messaggio di risposta."
msgid "Follow us on twitter"
msgstr "Seguici su Twitter"
@@ -829,7 +838,7 @@ msgid "Followups cannot be sent for this request, as it was made externally, and
msgstr ""
msgid "For an unknown reason, it is not possible to make a request to this authority."
-msgstr ""
+msgstr "Per una ragione sconosciuta, non è possibile inviare una richiesta a questa autorità."
msgid "Forgotten your password?"
msgstr "Persa la password?"
@@ -840,31 +849,31 @@ msgstr[0] "Trovata {{count}} autorità pubblica {{description}}"
msgstr[1] "Trovate {{count}} autorità pubbliche {{description}}"
msgid "Freedom of Information"
-msgstr ""
+msgstr "Freedom of Information"
msgid "Freedom of Information Act"
-msgstr ""
+msgstr "Freedom of Information Act"
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
msgstr ""
msgid "Freedom of Information law no longer applies to"
-msgstr ""
+msgstr "La legge sulla Freedom of Information non si applica più a"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "La legge sulla Freedom of Information non si applica più a questa autorità. I messaggi di risposta a richieste esistenti vengono inviati a "
msgid "Freedom of Information requests made"
-msgstr ""
+msgstr "Le richieste fatte"
msgid "Freedom of Information requests made by this person"
-msgstr ""
+msgstr "Le richieste fatte da questa persona"
msgid "Freedom of Information requests made by you"
msgstr "Le tue richieste"
msgid "Freedom of Information requests made using this site"
-msgstr ""
+msgstr "Le richieste fatte usando questo sito"
msgid "Freedom of information requests to"
msgstr "Richieste di informazioni a"
@@ -879,10 +888,10 @@ msgid "From:"
msgstr "Da:"
msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
-msgstr ""
+msgstr "FORNISCI DETTAGLI SUL TUO RECLAMO QUI"
msgid "Handled by post."
-msgstr ""
+msgstr "Gestito via posta."
msgid "Has tag string/has tag string tag"
msgstr ""
@@ -897,7 +906,7 @@ msgid "HasTagString::HasTagStringTag|Value"
msgstr ""
msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
-msgstr ""
+msgstr "Ciao! Puoi fare richieste in {{country_name}} attraverso {{link_to_website}}"
msgid "Hello, {{username}}!"
msgstr "Ciao, {{username}}!"
@@ -909,7 +918,7 @@ msgid "Here <strong>described</strong> means when a user selected a status for t
msgstr ""
msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
-msgstr ""
+msgstr "Questo è il messaggio che hai scritto. Copialo e salvalo se ti serve il testo in seguito."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
@@ -921,52 +930,52 @@ msgid "Holiday"
msgstr ""
msgid "Holiday|Day"
-msgstr ""
+msgstr "Holiday|Giorno"
msgid "Holiday|Description"
-msgstr ""
+msgstr "Holiday|Descrizione"
msgid "Home"
-msgstr ""
+msgstr "Home"
msgid "Home page"
msgstr ""
msgid "Home page of authority"
-msgstr ""
+msgstr "Home page dell'autorità"
msgid "However, you have the right to request environmental\\n information under a different law"
msgstr ""
msgid "Human health and safety"
-msgstr ""
+msgstr "Salute umana e sicurezza"
msgid "I am asking for <strong>new information</strong>"
-msgstr ""
+msgstr "Sto richiedendo una <strong>nuova informazione</strong>"
msgid "I am requesting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Sto richiedendo una <strong>recensione interna</strong>"
msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
msgstr ""
msgid "I don't like these ones &mdash; give me some more!"
-msgstr ""
+msgstr "Non mi piacciono queste &mdash; dammene altre!"
msgid "I don't want to do any more tidying now!"
-msgstr ""
+msgstr "Non voglio fare nessun ordinamento ora!"
msgid "I like this request"
msgstr ""
msgid "I would like to <strong>withdraw this request</strong>"
-msgstr ""
+msgstr "Voglio <strong>ritirare questa richiesta</strong>"
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
msgstr ""
msgid "I'm still <strong>waiting</strong> for the internal review"
-msgstr ""
+msgstr "Sto ancora <strong>aspettando</strong> la recensione interna"
msgid "I'm waiting for an <strong>internal review</strong> response"
msgstr ""
@@ -1793,6 +1802,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -1980,7 +1992,7 @@ msgid "Search in"
msgstr ""
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr "Cerca tra le<br/>\\n <strong>{{number_of_requests}} richieste</strong> <span>e le</span><br/>\\n <strong>{{number_of_authorities}} autorità pubbliche</strong>"
+msgstr "Cerca tra<br/>\\n <strong>{{number_of_requests}} richieste</strong> <span>e</span><br/>\\n <strong>{{number_of_authorities}} autorità pubbliche</strong>"
msgid "Search queries"
msgstr ""
@@ -2722,18 +2734,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3423,9 +3429,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/mk_MK/app.po b/locale/mk_MK/app.po
new file mode 100644
index 000000000..d6fc877d6
--- /dev/null
+++ b/locale/mk_MK/app.po
@@ -0,0 +1,3536 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-08 21:16+0000\n"
+"Last-Translator: slobodenpristap\n"
+"Language-Team: Macedonian (Macedonia) (http://www.transifex.com/projects/p/alaveteli/language/mk_MK/)\n"
+"Language: mk_MK\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 % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr " Ова ќе се прикаже на вашиот {{site_name}} профил, за да го олесни\\n вклучувањето на други во она што го работите."
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr " (<strong>без нападно</strong> обраќање, прочитајте ја нашата <a href=\"{{url}}\">уредувачка политика</a>)"
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr " (<strong>бидете трпеливи</strong>, особено за големи датотеки, процесот може да потрае!)"
+
+msgid " (you)"
+msgstr " (вие)"
+
+msgid " - view and make Freedom of Information requests"
+msgstr " - погледнете и креирајте барање за слободен пристап до информации"
+
+msgid " - wall"
+msgstr " - ѕид"
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr " <strong>Забелешка:</strong>\\n Ќе ви испратиме е-пошта. Следете ги инструкциите од пораката за да ја промените\\n вашата лозинка."
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr " <strong>Забелешка за приватност:</strong> Вашата адреса за е-пошта ќе биде дадена на"
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr " <strong>Резимирајте</strong> ја содржината од вратената информација. "
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr " Препорачајте како <strong>најдобро да се објасни</strong> барањето."
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr "Идеи за <strong>барање на други документи</strong> кои надлежниот орган можеби ги поседува. "
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr "Ако ја знаете адресата која треба да се користи, тогаш ве молиме <a href=\"{{url}}\">испратете ни ја</a>.\\n Можеби ќе успеете да ја најдете адресата на нивната интернет-страна или ако ја побарате од нив со јавување по телефон. "
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr " Вклучете релевантни врски, како што се страна за кампања, вашиот блог или\\n Твитер профил. Истите ќе бидат линкови. \\n на пр."
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr " Врска до бараната информација, доколку <strong>е веќе достапна</strong> на интернет. "
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr " Понуди подобри начини за <strong>формулација на барањето</strong> за добивање на информацијата. "
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr " Изјаснете се како <strong>ја употребивте информацијата</strong> и вклучете линкови, доколку е возможно."
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr " Предложете <strong>каде на друго место</strong> барателот може да најде информации. "
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr " Што истражувате преку употреба на слободниот пристап до информации? "
+
+msgid " You are already being emailed updates about the request."
+msgstr " Веќе ви се испратени новости за барањето по е-пошта. "
+
+msgid " You will also be emailed updates about the request."
+msgstr " Исто така ќе ви бидат испратени новости за барањето по е-пошта."
+
+msgid " made by "
+msgstr " креирано од "
+
+msgid " or "
+msgstr " или "
+
+msgid " when you send this message."
+msgstr " кога ќе ја испратите оваа порака."
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr "\"Здраво! Имаме <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">важна порака</a> за посетителите надвор од {{country_name}}\""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr "'Криминална статистика по области за Македонија'"
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr "'Ниво на загадување на реката Вардар со тек на времето'"
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr "'{{link_to_authority}}', имател"
+
+msgid "'{{link_to_request}}', a request"
+msgstr "'{{link_to_request}}', барање"
+
+msgid "'{{link_to_user}}', a person"
+msgstr "'{{link_to_user}}', личност"
+
+msgid "*unknown*"
+msgstr "*непознат*"
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ",\\n\\n\\n\\nВаш,\\n\\n{{user_name}}"
+
+msgid "- or -"
+msgstr "- или -"
+
+msgid "1. Select an authority"
+msgstr "1. Изберете имател на информација"
+
+msgid "2. Ask for Information"
+msgstr "2. Побарајте информација"
+
+msgid "3. Now check your request"
+msgstr "3. Проверете го вашето барање"
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr "<a href=\"{{browse_url}}\">Прелистајте ги сите</a> или <a href=\"{{add_url}}\">побарајте ние да додадеме</a>."
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr "<a href=\"{{url}}\">Додајте белешка</a> (за да му помогнете на барателот или на другите)"
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr "<a href=\"{{url}}\">Најавете се</a> за да ја промените лозинка, претплатата и друго (само {{user_name}})"
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr "<p>Готово! Благодариме за вашата помош.</p><p>Постојат <a href=\"{{helpus_url}}\">повеќе работи кои може да ги направите</a> за да помогнете {{site_name}}.</p>"
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr "<p>Ви благодариме! Следуваат неколку идеи што следно може да направите:</p>\\n <ul>\\n <li>За да го испратите вашето барање до друг имател, прво копирајте го текстот од вашето барање подолу, а потоа <a href=\"{{find_authority_url}}\">најдете го другиот имател</a>.</li>\\n <li>Ако сакате да го оспорите тврдењето на имателите дека тие не ги поседуваат информациите, еве \\n <a href=\"{{complain_url}}\">како да се пожалите</a>.\\n </li>\\n <li>Имаме <a href=\"{{other_means_url}}\">предлози</a>\\n за други начини за добивање одговор на вашето прашање.\\n </li>\\n </ul>"
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Ви благодариме! Се надеваме нема да чекате уште многу.</p> <p>Според законот, требаше да добиете одговор брзо, обично пред крајот на <strong>{{date_response_required_by}}</strong>.</p>"
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Ви благодариме! Се надеваме нема да чекате премногу.</p> <p>Според законот, требаше да добиете одговор брзо, обично пред крајот на <strong>\\n{{date_response_required_by}}</strong>.</p>"
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr "<p>Ви благодариме! Се надеваме нема да чекате премногу.</p><p>Треба да добиете одговор во рок од {{late_number_of_days}} дена или да бидете известени ако е потребно повеќе време (<a href=\"{{review_url}}\">детали</a>).</p>"
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr "<p>Ви благодариме! Вашето барање го надмина рокот за повеќе од {{very_late_number_of_days}} работни дена. Повеќето барања треба да се одговорени во рок од {{late_number_of_days}} работни дена. Можеби ќе сакате да испратите жалба за ова, погледнете подолу.</p>"
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr "<p>Во благодариме за менување на текстот за вас на вашиот профил.</p>\\n <p><strong>Следно...</strong> Може да прикачите и ваша фотографија.</p>"
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr "<p>Во благодариме за ажурирање на фотографијата од профилот.</p>\\n <p><strong>Следно...</strong> Може да внесете текст за вас и за вашето истражување на вашиот профил.</p>"
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr "<p>Препорачуваме да го уредите вашето барање и да ја тргнете адресата за е-пошта.\\n Ако го оставите како што е, адресата за е-пошта ќе биде пратена до имателот, но истата нема повеќе да биде прикажана на интернет страната.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr "<p>Драго ни е што ги добивте сите информации кои ги баравте. Ако ги употребите или пишувате за овие информации, ве молиме вратете се со цел да додадете белешка подолу каде ќе наведете како сте ги искористиле.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr "<p>Драго ни е што ги добивте сите информации кои ги баравте. Ако ги употребите или пишувате за овие информации, ве молиме вратете се со цел да додадете белешка подолу каде ќе наведете како сте ги искористиле.</p><p>Ако {{site_name}} ви беше од корист, <a href=\"{{donation_url}}\">донирајте</a> на организацијата која го раководи.</p>"
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr "<p>Драго ни е што добивте дел информации кои ги баравте. Ако {{site_name}} ви беше од корист, <a href=\"{{donation_url}}\">донирајте</a> на организацијата која го раководи.</p><p>Ако сакате да се обидете да ги добиете и останатите информации, еве што треба да направите следно.</p>"
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr "<p>Драго ни е што добивте дел од информациите кои ги баравте.</p><p>Ако сакате да се обидете да ги добиете останатите информации, еве што треба да направите следно.</p>"
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Нема потреба од вклучување на вашата е-пошта во барањето со цел да добиете одговор. (<a href=\"{{url}}\">детали</a>).</p>"
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Нема потреба од вклучување на вашата е-пошта во барањето со цел да добиете одговор, бидејќи ние ќе ја побараме во следниот екран (<a href=\"{{url}}\">детали</a>).</p>"
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr "<p>Вашето барање содржи <strong>поштенски број</strong>. Ве молиме тргнете било каква адреса, освен ако директно се однесува на барањето, бидејќи <strong>ќе се појави јавно на интернет</strong>.</p>"
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr "<p>Вашето {{law_used_full}} барање е <strong>испратено</strong>!</p>\\n <p><strong>Ќе ви испратиме е-пошта</strong> кога ќе има одговор или после {{late_number_of_days}} работни дена доколку имателот се уште нема\\n одговорено до тогаш.</p>\\n <p>Ако пишувате за ова барање (на пример на форум или блог) ве молам направете врска со оваа страница и додадете\\n белешка подолу каде што ќе кажете на корисниците за што пишувате. </p>"
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} во моментов се ажурира. Можете да ги прегледате само постоечките барања. Не може да креирате нови барања, да реплицирате или да додавате белешки или на било кој начин да ја менувате базата на податоци.</p> <p>{{read_only}}</p>"
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr "<small>Доколку користите веб-базирана е-пошта или пак имате \"junk mail\" филтри, проверете го и вашето\\nсандаче за спам пораки. Понекогаш, нашите пораки се означени како спам пораки.</small>\\n</p>"
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr "<strong> Дали може да побарам информации за себе?</strong>\\n\t\t\t<a href=\"{{url}}\">Не! (Кликнете тука за детали)</a>"
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr "<strong><code>commented_by:tony_bowden</code></strong> за да пребарате белешки креирани од Tony Bowden, со внесување на името како што е во URL врската."
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr "<strong><code>filetype:pdf</code></strong> за да ги најдете сите одговори кои содржат PDF прилози. Или пробајте со: <code>{{list_of_file_extensions}}</code>"
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr "<strong><code>request:</code></strong> за да ограничите на одредено барање, со внесување на насловот како што е во URL врската."
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr "<strong><code>requested_by:julian_todd</code></strong> за да пребарате барања креирани од Julian Todd, со внесување на името како што е во URL врската."
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr "<strong><code>requested_from:vlada</code></strong> за да се пребараат барања од Влада на РМ, со внесување на името како што е во URL врската."
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr "<strong><code>status:</code></strong> за да одберете во зависност од статусот на барањето, погледнете ја <a href=\"{{statuses_url}}\">табелата на статуси</a> подолу."
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr "<strong><code>tag:charity</code></strong> за да најдете сите иматели или барања за одреден клучен збор. Може да вклучите повеќе клучни зборови, \\n и нивни вредности, на пр. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Забележете дека стандардно било кој од клучните зборови\\n може да се внесат, но мора да внесете <code>AND</code> експлицитно ако сакате резултати да ги содржат сите наведени клучни зборови."
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr "<strong><code>variety:</code></strong> за да одберете тип на информација која се пребарува, погледнете ја <a href=\"{{varieties_url}}\">табелата со можности</a> подолу."
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr "<strong>Совет</strong> за како да се добие одговор кој ќе биде задоволителен за барателот. </li>"
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr "<strong>Сите информации</strong> се испратени"
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr "<strong>Уште нешто</strong>, како што е појаснување, потсетување, заблагодарување"
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr "<strong>Внимание!</strong> За да ги користите овие податоци на чесен начин, ќе ви биде потребно \\nдобро познавање за однесувањето на корисниците на {{site_name}}. Како, \\nзошто и од кого барањата кои се категоризирани не се јасни и ќе\\nпостои човечка грешка и двосмисленост. Исто така ќе треба да го разберете законот за слободен пристап до информации од јавен карактер, како и\\nначинот на кои имателите на информации го користат. Дополнително, ќе треба да бидете елитен статистичар. Ве молиме\\n<a href=\"{{contact_path}}\">контактирајте не</a> доколку имате прашања."
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr "Беше побарано <strong>појаснување</strong>"
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr "Не беше добиен <strong>никаков одговор</strong>\\n <small>(можеби има само потврда за прием)</small>"
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr "<strong>Забелешка:</strong> Бидејќи тестираме, барањата се праќаат до {{email}} наместо до имателот."
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr "<strong>Забелешка:</strong> Испраќате е-пошта до самите себе, веројатно\\n за да пробате како функционира системот."
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr "<strong>Забелешка:</strong>\\n Ќе испратиме е-пошта до вашата нова адреса за е-пошта. Следете ги\\n насоките во неа за да го потврдите менувањето на адресата."
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr "<strong>Забелешка за приватност:</strong> Ако сакате да побарате приватни информации за\\n себе, тогаш <a href=\"{{url}}\">кликнете тука</a>."
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr "<strong>Забелешка за приватност:</strong> Вашата фотографија ќе биде јавно прикажана на интернет,\\n секогаш кога ќе сакате нешто да направите на {{site_name}}."
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr "<strong>Забелешка за приватност:</strong> Вашата порака и секој одговор\\n на неа, ќе бидат јавно прикажани на оваа интернет-страна."
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr "<strong>Некои од информациите</strong> беа испратени "
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr "<strong>Заблагодарете</strong> му се ја имателот или "
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr "<strong>ја немаше</strong> бараната информација."
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "<a href=\"{{request_url}}\">Реакција</a> на <em>{{request_title}}</em> беше испратена на {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr "<a href=\"{{request_url}}\">Одговор</a> на <em>{{request_title}}</em> беше пратен од {{public_body_name}} до {{info_request_user}} на {{date}}. Статусот на одговорот е: {{request_status}}"
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr "<strong>Резиме</strong> на одговорот ако го добивте преку пошта. "
+
+msgid "A Freedom of Information request"
+msgstr "Барање за слободен пристап до информации од јавен карактер"
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr "Целосна историја за моето барање и сите кореспонденции се достапни на интернет на следнава адреса: {{url}}"
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "Ново барање, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, беше пратено до {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "A public authority"
+msgstr "Имател на информација"
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr "Одговорот ќе биде испратен <strong>по пошта</strong>"
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr "Чуден одговор, бара внимание од страна на {{site_name}} тимот"
+
+msgid "A vexatious request"
+msgstr "Вознемирувачко барање"
+
+msgid "A {{site_name}} user"
+msgstr "Корисник на {{site_name}}"
+
+msgid "About you:"
+msgstr "За вас:"
+
+msgid "Act on what you've learnt"
+msgstr "Постапувајте по тоа што сте го научиле"
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr "Постапува како xapian/постапува како xapian работна задача"
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr "ActsAsXapian::ActsAsXapianJob|Акција"
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr "ActsAsXapian::ActsAsXapianJob|Модел"
+
+msgid "Add an annotation"
+msgstr "Додадете белешка"
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr "Додадете белешка на вашето барање со избрани цитати, или\\n <strong>резиме на одговорот</strong>."
+
+msgid "Added on {{date}}"
+msgstr "Додадено на {{date}}"
+
+msgid "Admin level is not included in list"
+msgstr "Администраторското ниво не е наведено во листата"
+
+msgid "Administration URL:"
+msgstr "URL за администрирање:"
+
+msgid "Advanced search"
+msgstr "Напредно пребарување"
+
+msgid "Advanced search tips"
+msgstr "Препораки за напредно пребарување"
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr "Советувај ако <strong>одбивањето е легално</strong> и како да се пожалите доколку не е."
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr "Воздух, вода, почва, земјиште, флора и фауна (вклучувајќи и каков ефект имаат овие\\n на човечките суштества)"
+
+msgid "All of the information requested has been received"
+msgstr "Сите побарани информации се примени"
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr "Сите опции подолу може да користат <strong>status</strong> или <strong>latest_status</strong> пред колоната. На пример, <strong>status:not_held</strong> ќе одговара на барањата кои <em>некогаш</em> биле маркирани да не се чуваат; <strong>latest_status:not_held</strong> ќе одговара на барањата кои <em>во моментов</em> се маркирани да не се чуваат."
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr "Сите опции подолу може да користат <strong>variety</strong> или <strong>latest_variety</strong> пред колоната. На пример, <strong>variety:sent</strong> ќе одговара на барањата кои <em>ever</em> биле испратени; <strong>latest_variety:sent</strong> ќе одговара на барањата кои се <em>во моментов</em> се маркирани да не се чуваат."
+
+msgid "Also called {{other_name}}."
+msgstr "Исто така наречени {{other_name}}."
+
+msgid "Also send me alerts by email"
+msgstr "Дополнително, испрати ми предупредувања по е-пошта"
+
+msgid "Alter your subscription"
+msgstr "Променете ја својата претплата"
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr "И покрај тоа што сите одговори се објавуваат автоматски, ние зависиме од \\nвас, изворниот барател, за да ги оцените."
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr "<a href=\"{{request_url}}\">Белешка</a> за <em>{{request_title}}</em> беше направена од {{event_comment_user}} на {{date}}"
+
+msgid "An <strong>error message</strong> has been received"
+msgstr "Беше примена <strong>порака за грешка</strong>"
+
+msgid "An Environmental Information Regulations request"
+msgstr "Барање за регулативи за животна средина"
+
+msgid "An anonymous user"
+msgstr "Анонимен корисник"
+
+msgid "Annotation added to request"
+msgstr "Белешката е додадена на барањето"
+
+msgid "Annotations"
+msgstr "Белешки"
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr "Белешките се за сите, вклучувајќи ве и вас, да му помогнат на барателот со неговото барање. На пример:"
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr "Белешките ќе бидат јавно објавени тука и \\n <strong>не се</strong> испратени до {{public_body_name}}."
+
+msgid "Anonymous user"
+msgstr "Анонимен корисник"
+
+msgid "Anyone:"
+msgstr "Секој:"
+
+msgid "Applies to"
+msgstr "Се однесува на"
+
+msgid "Are we missing a public authority?"
+msgstr "Дали недостасува некој имател?"
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr "Дали сте сопственик на било кои комерцијални авторски права на оваа страница?"
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr "Побарајте <strong>специфични</strong> документи или информации, оваа страна не е соодветна за општи побарувања."
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr "На дното од оваа страница, напишете одговор до нив со што ќе се обидете да ги убедите да го скенираат со\\n (<a href=\"{{url}}\">повеќе детали</a>)."
+
+msgid "Attachment (optional):"
+msgstr "Прилог (необврзувачко):"
+
+msgid "Attachment:"
+msgstr "Прилог:"
+
+msgid "Awaiting classification."
+msgstr "Се чека класифицирање."
+
+msgid "Awaiting internal review."
+msgstr "Се чека внатрешна ревизија."
+
+msgid "Awaiting response."
+msgstr "Се чека одговор."
+
+msgid "Beginning with"
+msgstr "Започнувајќи со"
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr "Прелистајте <a href='{{url}}'>други барања</a> за примери како да го формулирате вашето барање."
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr "Прелистајте <a href='{{url}}'>други барања</a> од '{{public_body_name}}' за примери како да го формулирате вашето барање."
+
+msgid "Browse all authorities..."
+msgstr "Прелистајте ги сите иматели..."
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr "Според законот, под сите околности, {{public_body_link}} требаше да одговори до сега"
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr "Според закон, {{public_body_link}} требало да одговори <strong>веднаш</strong> и"
+
+msgid "Calculated home page"
+msgstr "Пресметана почетна страна"
+
+msgid "Can't find the one you want?"
+msgstr "Не може да го најдете она што го барате?"
+
+msgid "Cancel a {{site_name}} alert"
+msgstr "Откажете ги предупредувањата за {{site_name}} "
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr "Откажете некои предупредувања за {{site_name}} "
+
+msgid "Cancel, return to your profile page"
+msgstr "Откажете и вратете се до страницата на вашиот профил"
+
+msgid "Censor rule"
+msgstr "Правило за цензура"
+
+msgid "CensorRule|Last edit comment"
+msgstr "CensorRule|Последно уреден коментар"
+
+msgid "CensorRule|Last edit editor"
+msgstr "CensorRule|Последно изменет уредник"
+
+msgid "CensorRule|Regexp"
+msgstr "CensorRule|Regexp"
+
+msgid "CensorRule|Replacement"
+msgstr "CensorRule|Замена"
+
+msgid "CensorRule|Text"
+msgstr "CensorRule|Текст"
+
+msgid "Change email on {{site_name}}"
+msgstr "Промени е-пошта на {{site_name}}"
+
+msgid "Change password on {{site_name}}"
+msgstr "Промени лозинка на {{site_name}}"
+
+msgid "Change profile photo"
+msgstr "Промени фотографија за профил"
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr "Променете го текстот за себе на {{site_name}}"
+
+msgid "Change your email"
+msgstr "Променете ја својата е-пошта"
+
+msgid "Change your email address used on {{site_name}}"
+msgstr "Променете ја својата адреса за е-пошта употребена на {{site_name}}"
+
+msgid "Change your password"
+msgstr "Променете ја лозинката"
+
+msgid "Change your password on {{site_name}}"
+msgstr "Променете ја лозинката на {{site_name}}"
+
+msgid "Change your password {{site_name}}"
+msgstr "Променете ја лозинката {{site_name}}"
+
+msgid "Charity registration"
+msgstr "Регистрација на добротворна органзиација"
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr "Проверете за грешки доколку ја впишавте или копиравте адресата."
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr "Проверете дали вклучивте <strong>лични информации</strong>."
+
+msgid "Choose your profile photo"
+msgstr "Изберете фотографија за профил"
+
+msgid "Clarification"
+msgstr "Објаснување"
+
+msgid "Clarify your FOI request - "
+msgstr "Објаснете го своето барање за слободен пристап до информации - "
+
+msgid "Classify an FOI response from "
+msgstr "Класифицарајте го одговорот од "
+
+msgid "Clear photo"
+msgstr "Поништете фотографија"
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr "Кликнете на линкот подолу за да испратите порака до {{public_body_name}} со што им кажувате да ви одговорат на барањето. Можеби ќе сакате да побарате внатрешна\\nревизија, со што ќе побарате од нив да ви кажат зошто добивањето одговор на барањето е толку споро."
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr "Кликнете на линкот подолу за да испратите порака до {{public_body}} со што ќе ги потсетите да ви одговорат на барањето."
+
+msgid "Close"
+msgstr "Затворете"
+
+msgid "Comment"
+msgstr "Коментирајте"
+
+msgid "Comment|Body"
+msgstr "Comment|Body"
+
+msgid "Comment|Comment type"
+msgstr "Comment|Comment type"
+
+msgid "Comment|Locale"
+msgstr "Comment|Locale"
+
+msgid "Comment|Visible"
+msgstr "Comment|Visible"
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr "Потврдете дека сакате да ги следите сите успешни барања за слободен пристап до информации од јавен карактер"
+
+msgid "Confirm you want to follow new requests"
+msgstr "Потврдете дека сакате да ги следите сите нови барања"
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr "Потврдете дека сакате да ги следите сите нови барања или одговори кои одговараат на вашето пребарување"
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr "Потврдете дека сакате да ги следите барањата од '{{user_name}}'"
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr "Потврдете дека сакате да ги следите барањата до '{{public_body_name}}'"
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr "Потврдете дека сакате да го следите барањето '{{request_title}}'"
+
+msgid "Confirm your FOI request to "
+msgstr "Потврдете го вашето барање за слободен пристап до "
+
+msgid "Confirm your account on {{site_name}}"
+msgstr "Потврдете го вашиот профил на {{site_name}}"
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr "Потврдете ја вашата белешка до {{info_request_title}}"
+
+msgid "Confirm your email address"
+msgstr "Потврдете ја вашата адреса за е-пошта"
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr "Потврдете ја вашата нова адреса за е-пошта на {{site_name}}"
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr "Од страна на администраторите, ова барање се смета дека не е барање за слободен пристап и истото е скриено од страната."
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr "Од страна на администраторите, ова барање се смета за вознемирувачко и истото е скриено од страната."
+
+msgid "Contact {{recipient}}"
+msgstr "Контакт {{recipient}}"
+
+msgid "Contact {{site_name}}"
+msgstr "Контакт {{site_name}}"
+
+msgid "Could not identify the request from the email address"
+msgstr "Не може да се идентификува барањето од адресата за е-пошта"
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr "Форматот на фотографијата е непознат. Поддржани се PNG, JPEG, GIF и многу други чести формати за фотографија."
+
+msgid "Crop your profile photo"
+msgstr "Исечете ја вашата фотографија за профил"
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr "Културни знаменитости и изградени објекти (кои може да се засегнати од\\n факторите наведени погоре)"
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr "Во моментов <strong>се чека на одговор</strong> од {{public_body_link}}, тие мора да одговорат веднаш и"
+
+msgid "Date:"
+msgstr "Дата:"
+
+msgid "Dear {{name}},"
+msgstr "Драг {{name}},\\n\\nВрз основа на член 4 и член 12 од Законот за слободен пристап до информации од јавен карактер (“Службен весник на Република Македонија бр. 13/ 1.2.2006 год.), ја барам следната информација од јавен карактер:"
+
+msgid "Dear {{public_body_name}},"
+msgstr "Драг {{public_body_name}},\\n\\nВрз основа на член 4 и член 12 од Законот за слободен пристап до информации од јавен карактер (“Службен весник на Република Македонија бр. 13/ 1.2.2006 год.), ја барам следната информација од јавен карактер:"
+
+msgid "Default locale"
+msgstr "Зададено место"
+
+msgid "Defunct."
+msgstr "Мртов."
+
+msgid "Delayed response to your FOI request - "
+msgstr "Одложен одговор на вашето барање за слободен пристап - "
+
+msgid "Delayed."
+msgstr "Одложен."
+
+msgid "Delivery error"
+msgstr "Грешка при испорака"
+
+msgid "Destroy {{name}}"
+msgstr "Уништи {{name}}"
+
+msgid "Details of request '"
+msgstr "Детали за барањето '"
+
+msgid "Did you mean: {{correction}}"
+msgstr "Дали мислевте: {{correction}}"
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr "Оградување: Оваа порака како и секој одговор кој ќе го направите ќе биде објавен на интернет. Нашите политики за приватност и авторски права:"
+
+msgid "Disclosure log"
+msgstr "Дневник на објави"
+
+msgid "Disclosure log URL"
+msgstr "URL на дневник на објави"
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr "Не сакате да ја упатите вашата порака до {{person_or_body}}? Можете да пишете и до:"
+
+msgid "Done"
+msgstr "Готово"
+
+msgid "Done &gt;&gt;"
+msgstr "Готово &gt;&gt;"
+
+msgid "Download a zip file of all correspondence"
+msgstr "Преземете zip датотека од целата кореспонденција"
+
+msgid "Download original attachment"
+msgstr "Преземете го оригиналниот прилог"
+
+msgid "EIR"
+msgstr "EIR"
+
+msgid "Edit"
+msgstr "Уреди"
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr "Уредете и додајте <strong>повеќе детали</strong> на пораката погоре,\\n и притоа објаснете зошто не сте задоволен од нивниот одговор."
+
+msgid "Edit text about you"
+msgstr "Уредете го текстот за вас"
+
+msgid "Edit this request"
+msgstr "Уредете го ова барање"
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr "Или е-поштата или лозинката не се препознаени, обидете се повторно."
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr "Или е-поштата или лозинката не се препознаени, обидете се повторно. Или креирајте нов профил преку формата од десната страна."
+
+msgid "Email doesn't look like a valid address"
+msgstr "Адресата за е-пошта не е валидна"
+
+msgid "Email me future updates to this request"
+msgstr "Сакам да добивам е-пошта со новости за ова барање"
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr "Внесете зборови кои сакате да ги најдете, одвоени со празно место, на пр. <strong>искачување јаже</strong>"
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr "Внесете го вашиот одговор подолу. Може да прикачите еден документ (употребете е-пошта, или\\n <a href=\"{{url}}\">контактирајте не</a> ако имате потреба од повеќе)."
+
+msgid "Environmental Information Regulations"
+msgstr "Регулативи за инфорамции за животна средина"
+
+msgid "Environmental Information Regulations requests made"
+msgstr "Направени се барања за регулативи за информации за животна средина"
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr "Преку оваа страна, направени се барања за регулативи за информации за животна средина"
+
+msgid "Event history"
+msgstr "Историја на настани"
+
+msgid "Event history details"
+msgstr "Детали за историја на настани"
+
+msgid "Event {{id}}"
+msgstr "Настан {{id}}"
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Се што ќе внесете на оваа страница, вклучувајќи го и <strong>вашето име</strong>,\\n ќе биде <strong>јавно прикажано</strong> засекогаш на\\n оваа интернет-страна (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Се што ќе внесете на оваа страница\\n ќе биде <strong>јавно прикажано</strong> засекогаш на\\n оваа интернет-страна (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "FOI"
+msgstr "Слободен пристап до информации од јавен карактер"
+
+msgid "FOI email address for {{public_body}}"
+msgstr "Адреса за е-пошта за слободен пристап до информации на {{public_body}}"
+
+msgid "FOI request – {{title}}"
+msgstr "Барање за слободен пристап до информации – {{title}}"
+
+msgid "FOI requests"
+msgstr "Барања за слободен пристап до информации од јавен карактер"
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr "Барања за слободен пристап до информации од '{{user_name}}'"
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Барања за слободен пристап до информации {{start_count}} до {{end_count}} од {{total_count}}"
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr "Одговор на барање за слободен пристап до информации бара администрирање ({{reason}}) - {{title}}"
+
+msgid "Failed to convert image to a PNG"
+msgstr "Неуспешно конвертирање на фотографија во PNG формат"
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr "Неуспешно конвертирање на фотографија во точната големина: со {{cols}}x{{rows}}, треба {{width}}x{{height}}"
+
+msgid "Filter"
+msgstr "Филтрирај"
+
+msgid "First, did your other requests succeed?"
+msgstr "Прво, дали другите ваши барања беа успешни?"
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr "Прво, внесете <strong>име на надлежниот орган во МК</strong> од кој\\n ви треба информација. <strong>Според закон, тие мора да одговорат</strong>\\n (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "Foi attachment"
+msgstr "Прилог за барањето за слободен пристап"
+
+msgid "FoiAttachment|Charset"
+msgstr "FoiAttachment|Charset"
+
+msgid "FoiAttachment|Content type"
+msgstr "FoiAttachment|Content type"
+
+msgid "FoiAttachment|Display size"
+msgstr "FoiAttachment|Display size"
+
+msgid "FoiAttachment|Filename"
+msgstr "FoiAttachment|Filename"
+
+msgid "FoiAttachment|Hexdigest"
+msgstr "FoiAttachment|Hexdigest"
+
+msgid "FoiAttachment|Url part number"
+msgstr "FoiAttachment|Url part number"
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr "FoiAttachment|Within rfc822 subject"
+
+msgid "Follow"
+msgstr "Следи"
+
+msgid "Follow all new requests"
+msgstr "Следи ги сите нови барања"
+
+msgid "Follow new successful responses"
+msgstr "Следете ги новите успешни одговори"
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr "Следете ги барањата до {{public_body_name}}"
+
+msgid "Follow these requests"
+msgstr "Следете ги овие барања"
+
+msgid "Follow things matching this search"
+msgstr "Следете ги активностите кои одговараат на ова пребарување"
+
+msgid "Follow this authority"
+msgstr "Следете го овој надлежен орган"
+
+msgid "Follow this link to see the request:"
+msgstr "Следете ја оваа врска за да го видите барањето:"
+
+msgid "Follow this person"
+msgstr "Следете ја оваа личност"
+
+msgid "Follow this request"
+msgstr "Следете го ова барање"
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr "Реакција"
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr "Реакција е испратена од барател"
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr "Реакции на постоечки барања се пратени до "
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr "Реакциите и новите одговори на ова барање беа стопирани поради превенција за спам. Ве молиме <a href=\"{{url}}\">контактирајте не</a> ако сте {{user_link}} и сакате да се испратите реакција."
+
+msgid "Follow us on twitter"
+msgstr "Следи не на twitter"
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr "Реакција за ова барање не може да се испрати, бидејќи беше направено надворешно, а објавено тука од {{public_body_name}} во име на барателот."
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr "Од непознати причини, не може да се направи барање до овој имател."
+
+msgid "Forgotten your password?"
+msgstr "Ја заборавивте лозинката?"
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] "Најден е {{count}} имател {{description}}"
+msgstr[1] "Најдени се {{count}} иматели {{description}}"
+
+msgid "Freedom of Information"
+msgstr "Слободен пристап до информации"
+
+msgid "Freedom of Information Act"
+msgstr "Закон за слободен пристап до информации"
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr "Законот за Слободен пристап до информации не се однесува за овој имател, затоа не можете да направите\\n барање до нив."
+
+msgid "Freedom of Information law no longer applies to"
+msgstr "Законот за Слободен пристап до информации повеќе не се однесува на"
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr "Законот за Слободен пристап до информации не се однесува за овој имател. Надоврзаните пораки на барањето се праќаат до "
+
+msgid "Freedom of Information requests made"
+msgstr "Направени се барања за слободен пристап до информации"
+
+msgid "Freedom of Information requests made by this person"
+msgstr "Направени се барања за слободен пристап до информации од оваа личност"
+
+msgid "Freedom of Information requests made by you"
+msgstr "Барања за слободен пристап до информации направени од вас"
+
+msgid "Freedom of Information requests made using this site"
+msgstr "Барања за слободен пристап до информации направени преку оваа страна"
+
+msgid "Freedom of information requests to"
+msgstr "Барања за слободен пристап до информации до"
+
+msgid "From"
+msgstr "Од"
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr "Од страната со барањето, обидете се да одговорите на конкретна порака, наместо да испратите\\n општа реакција. Ако сакате да направите општа реакција и ја знаете\\n е-поштата со која директно се упатува на правото место, ве молиме <a href=\"{{url}}\">пратете ни ја нас</a>."
+
+msgid "From:"
+msgstr "Од:"
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr "ДАДЕТЕ ДЕТАЛИ ЗА ВАЖАТА ЖАЛБА ТУКА"
+
+msgid "Handled by post."
+msgstr "Решено по пошта."
+
+msgid "Has tag string/has tag string tag"
+msgstr "Has tag string/has tag string tag"
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr "HasTagString::HasTagStringTag|Model"
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr "HasTagString::HasTagStringTag|Name"
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr "HasTagString::HasTagStringTag|Value"
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr "Здраво! Може да направите барање за слободен пристап до информации во рамки на {{country_name}} на {{link_to_website}}"
+
+msgid "Hello, {{username}}!"
+msgstr "Здраво, {{username}}!"
+
+msgid "Help"
+msgstr "Помош"
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr "Овде зборот <strong>опишано</strong> значи кога корисник има одбрано статус за барањето и\\nстатусот на последната новост ја има таа вредност. Зборот <strong>пресметано</strong> е претставен од страна на\\n{{site_name}} за посредни настани, за кои не беше експлицитно даден\\nопис од страна на корисник. Погледни ги <a href=\"{{search_path}}\">советите за пребарување</a> за описите на статусите."
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr "Еве ја пораката која ја напишавте, во случај да сакате да го ископирате текстот и да го зачувате за подоцна."
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr "Здраво! Ни треба вашата помош. Личноста која го напиша следново барање\\n не не извести дали истото беше успешно. Дали може да одвоите време\\n за да го прочитате и да ни помогнете да го одржиме местово уредно за сите?\\nВи благодариме."
+
+msgid "Hide request"
+msgstr "Сокриј барање"
+
+msgid "Holiday"
+msgstr "Празник"
+
+msgid "Holiday|Day"
+msgstr "Holiday|Day"
+
+msgid "Holiday|Description"
+msgstr "Holiday|Description"
+
+msgid "Home"
+msgstr "Почеток"
+
+msgid "Home page"
+msgstr "Почетна страна"
+
+msgid "Home page of authority"
+msgstr "Почетна страна на имателот"
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr "Секако, вие имате право да побарате информации\\n за животната средина под друг закон"
+
+msgid "Human health and safety"
+msgstr "Човеково здравје и безбедност"
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr "Барам <strong>нови информации</strong>"
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr "Побарувам <strong>внатрешна ревизија</strong>"
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr "Пишувам со цел да побарам внатрешна ревизија од {{public_body_name}} за разгледувањто на моето барање за слободен пристап до информации '{{info_request_title}}'."
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr "Не ми се допаѓаат овие &mdash; дај ми уште неколку!"
+
+msgid "I don't want to do any more tidying now!"
+msgstr "Не сакам да уредувам повеќе!"
+
+msgid "I like this request"
+msgstr "Ми се допаѓа ова барање"
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr "Би сакал да <strong>го повлечам ова барање</strong>"
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr "Се уште <strong>чекам</strong> за мојата информација\\n <small>(можеби имате известување)</small>"
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr "Се уште <strong>чекам</strong> внатрешна ревизија"
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr "Чекам одговор од <strong>внатрешна ревизија</strong>"
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr "Бев замолен да <strong>го појаснам</strong> моето барање"
+
+msgid "I've received <strong>all the information"
+msgstr "Ги добив <strong>сите информации"
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr "Добив <strong>дел од информациите</strong>"
+
+msgid "I've received an <strong>error message</strong>"
+msgstr "Добив <strong>порака за грешка</strong>"
+
+msgid "I've received an error message"
+msgstr "Добив порака за грешка"
+
+msgid "Id"
+msgstr "Идентификациски број"
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Ако адресата е грешна или имате подобра адреса, Ве молиме <a href=\"{{url}}\">контактирајте не</a>."
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr "Ако грешката е заради неуспешна достава и може да најдете нова, соодветна адреса за е-пошта од имателот, Ве молиме употребете ја формата подолу."
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr "Ако ова не е точно или сакате да испратите задоцнет одговор на барањето\\nили е-пошта на друга тема на {{user}}, тогаш ве молиме\\nиспратете ни е-пошта {{contact_email}} за помош."
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr "Доколку не сте задоволни со одговорот кој го добивте од\\n имателот, имате право да се\\n пожалите (<a href=\"{{url}}\">детали</a>)."
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Ако и понатака имате проблеми, Ве молиме <a href=\"{{url}}\">контактирајте не</a>."
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr "Ако сте вие барателот, тогаш <a href=\"{{url}}\">најавете се</a> за да ја видите пораката."
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr "Ако сте вие барателот, тогаш <a href=\"{{url}}\">најавете се</a> за да го видите барањето."
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr "Ако размилувате да употребите псевдоним,\\n Ве молиме<a href=\"{{url}}\">прочитајте го прво ова</a>."
+
+msgid "If you are {{user_link}}, please"
+msgstr "Ако сте {{user_link}}, Ве молиме"
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr "Ако мислите дека ова барање не е соодветно, можете да го пријавите со цел да биде прегледано од администраторите на страната"
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr "Ако не можете да го кликнете линкот во пораката, ќе мора да го <strong>селектирате и копирате\\n</strong> од е-поштата. Потоа <strong>вметнете го во вашиот прелистувач</strong>, во полето каде\\nобично би ја напишале адресата на било која веб-страна."
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr "Ако сте во можност, скенирајте или направете фотографија од одговорот и <strong>пратете ни\\n копија за прикачување</strong>."
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr "Ако овој сервис ви е корисен за добивање информации од јавен карактер, замолете го вашиот веб-администратор да направи врска до нас од вашата организациска страна."
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr "Ако ја добивте оваа е-пошта <strong>пред повеќе од шест месеци</strong>, тогаш оваа врска за најавување нема да работи\\nповеќе. Обидете се да го направите повторно тоа што го направивте претходно."
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr "Ако не го направивте тоа до сега, Ве молиме напишете порака подолу со која ќе го известите надлежниот орган дека го повлековте вашето барање. Инаку тие нема да знаат дека барањето е повлечено."
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr "Ако одговорите на оваа порака, одговорот ќе биде пратен директно до {{user_name}}, кој ќе\\nја дознае вашата адреса за е-пошта. Одговорете само во случај тоа да е во ред."
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr "Ако користите веб-базирана е-пошта или имате \"junk mail\" филтри, исто така проверете го вашиот\\nbulk/фолдер за спам пораки. Понекогаш, нашите пораки се означени како такви."
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr "Ако сакате да ја тргнеме оваа забрана, тогаш може учтиво да не\\n<a href=\"/help/contact\">контактирате</a> со што ќе ги наведете причините.\\n"
+
+msgid "If you're new to {{site_name}}"
+msgstr "Ако сте нов корисник на {{site_name}}"
+
+msgid "If you've used {{site_name}} before"
+msgstr "Ако го имате претходно користено {{site_name}}"
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr "Ако вашиот прелистувач е конфигуриран да прифаќа cookies и ја гледате оваа порака,\\nтогаш веројатно има проблем со нашиот сервер."
+
+msgid "Incoming email address"
+msgstr "Адреса за е-пошта"
+
+msgid "Incoming message"
+msgstr "Нова порака"
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr "IncomingMessage|Cached attachment text clipped"
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr "IncomingMessage|Cached main body text folded"
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr "IncomingMessage|Cached main body text unfolded"
+
+msgid "IncomingMessage|Last parsed"
+msgstr "IncomingMessage|Last parsed"
+
+msgid "IncomingMessage|Mail from"
+msgstr "IncomingMessage|Mail from"
+
+msgid "IncomingMessage|Mail from domain"
+msgstr "IncomingMessage|Mail from domain"
+
+msgid "IncomingMessage|Prominence"
+msgstr "IncomingMessage|Prominence"
+
+msgid "IncomingMessage|Prominence reason"
+msgstr "IncomingMessage|Prominence reason"
+
+msgid "IncomingMessage|Sent at"
+msgstr "IncomingMessage|Sent at"
+
+msgid "IncomingMessage|Subject"
+msgstr "IncomingMessage|Subject"
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr "IncomingMessage|Valid to reply to"
+
+msgid "Individual requests"
+msgstr "Индивидуално барање"
+
+msgid "Info request"
+msgstr "Инфо барање"
+
+msgid "Info request event"
+msgstr "Настан за инфо барање"
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr "InfoRequestEvent|Calculated state"
+
+msgid "InfoRequestEvent|Described state"
+msgstr "InfoRequestEvent|Described state"
+
+msgid "InfoRequestEvent|Event type"
+msgstr "InfoRequestEvent|Event type"
+
+msgid "InfoRequestEvent|Last described at"
+msgstr "InfoRequestEvent|Last described at"
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr "InfoRequestEvent|Params yaml"
+
+msgid "InfoRequest|Allow new responses from"
+msgstr "InfoRequest|Allow new responses from"
+
+msgid "InfoRequest|Attention requested"
+msgstr "InfoRequest|Attention requested"
+
+msgid "InfoRequest|Awaiting description"
+msgstr "InfoRequest|Awaiting description"
+
+msgid "InfoRequest|Comments allowed"
+msgstr "InfoRequest|Comments allowed"
+
+msgid "InfoRequest|Described state"
+msgstr "InfoRequest|Described state"
+
+msgid "InfoRequest|External url"
+msgstr "InfoRequest|External url"
+
+msgid "InfoRequest|External user name"
+msgstr "InfoRequest|External user name"
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr "InfoRequest|Handle rejected responses"
+
+msgid "InfoRequest|Idhash"
+msgstr "InfoRequest|Idhash"
+
+msgid "InfoRequest|Law used"
+msgstr "InfoRequest|Law used"
+
+msgid "InfoRequest|Prominence"
+msgstr "InfoRequest|Prominence"
+
+msgid "InfoRequest|Title"
+msgstr "InfoRequest|Title"
+
+msgid "InfoRequest|Url title"
+msgstr "InfoRequest|Url title"
+
+msgid "Information not held."
+msgstr "Информациите не се чуваат."
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr "Информации за емисиите и испуштањата (на пр. шум, енергија,\\n радијација, отпадни материјали)"
+
+msgid "Internal review request"
+msgstr "Барање за внатрешна ревизија"
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr "Дали {{email_address}} е грешна адреса за {{type_of_request}} барањето до {{public_body_name}}? Ако да, Ве молиме контактирајте не преку оваа форма:"
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr "Причината може да е доколку вашиот прелистувач не е конфигуриран да прифаќа \"cookies\",\\nили не може да ги прифаќа. Ако можете, вклучете ја опцијата за cookies или пробајте да користите друг\\nпрелистувач. Потоа притиснете освежи, за да пробате повторно."
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr "Во моментов на вашиот ѕид се прикажани ставките кои одговараат на наведените услови."
+
+msgid "Items sent in last month"
+msgstr "Случаи кои се испратени последниов месец"
+
+msgid "Joined in"
+msgstr "Се приклучивте во"
+
+msgid "Joined {{site_name}} in"
+msgstr "Почнавте да го користите {{site_name}} на"
+
+msgid "Just one more thing"
+msgstr "Само уште една работа"
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr "Барањето треба да е <strong>фокусирано</strong>, со што ќе Ви се зголемат шансите да го добиете тоа што го сакате (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "Keywords"
+msgstr "Клучни зборови"
+
+msgid "Last authority viewed: "
+msgstr "Последен прегледан имател: "
+
+msgid "Last request viewed: "
+msgstr "Последно видено барање: "
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr "Известете не што правевте кога оваа порака се\\nпојави и кои се типот и верзијата на вашиот прелисутвач и оперативен систем."
+
+msgid "Link to this"
+msgstr "Врска до ова"
+
+msgid "List all"
+msgstr "Излистај ги сите"
+
+msgid "List of all authorities (CSV)"
+msgstr "Листа од сите иматели (CSV)"
+
+msgid "Listing FOI requests"
+msgstr "Листање на барања за слободен пристап"
+
+msgid "Listing public authorities"
+msgstr "Листање на иматели"
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr "Листање на иматели кои одговараат на '{{query}}'"
+
+msgid "Listing tracks"
+msgstr "Листање на патеки"
+
+msgid "Listing users"
+msgstr "Листање на корисници"
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr "Најавете се за да преземете zip датотека од {{info_request_title}}"
+
+msgid "Log into the admin interface"
+msgstr "Најавете се на администраторскиот интерфејс"
+
+msgid "Long overdue."
+msgstr "Одамна е поминат рокот."
+
+msgid "Made between"
+msgstr "Изработен во периодот помеѓу"
+
+msgid "Mail server log"
+msgstr "Дневник од серверот за пошта"
+
+msgid "Mail server log done"
+msgstr "Дневникот од серверот за пошта е готов"
+
+msgid "MailServerLogDone|Filename"
+msgstr "MailServerLogDone|Filename"
+
+msgid "MailServerLogDone|Last stat"
+msgstr "MailServerLogDone|Last stat"
+
+msgid "MailServerLog|Line"
+msgstr "MailServerLog|Line"
+
+msgid "MailServerLog|Order"
+msgstr "MailServerLog|Order"
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr "Направи ново<br/>\\n <strong>Барање за Слободен <span>пристап до</span><br/>\\n информации</strong>"
+
+msgid "Make a request"
+msgstr "Поднесете барање"
+
+msgid "Make a request to this authority"
+msgstr "Поднесете барање до овој имател"
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr "Поднесете {{law_used_short}} барање до '{{public_body_name}}'"
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr "Поднесете и прелистајте барања за слободен пристап до информации"
+
+msgid "Make your own request"
+msgstr "Поднесете свое барање"
+
+msgid "Many requests"
+msgstr "Повеќе барања"
+
+msgid "Message"
+msgstr "Порака"
+
+msgid "Message has been removed"
+msgstr "Пораката беше отстранета"
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr "Пораката е испратена преку контакт формата од {{site_name}}, "
+
+msgid "Missing contact details for '"
+msgstr "Недостасуваат контакт-детали за '"
+
+msgid "More about this authority"
+msgstr "Повеќе за овој имател"
+
+msgid "More requests..."
+msgstr "Повеќе барања..."
+
+msgid "More similar requests"
+msgstr "Повеќе слични барања"
+
+msgid "More successful requests..."
+msgstr "Повеќе успешни барања..."
+
+msgid "My profile"
+msgstr "Мојот профил"
+
+msgid "My request has been <strong>refused</strong>"
+msgstr "Моите барања се <strong>одбиени</strong>"
+
+msgid "My requests"
+msgstr "Мои барања"
+
+msgid "My wall"
+msgstr "Мојот ѕид"
+
+msgid "Name can't be blank"
+msgstr "Името не може да е празно"
+
+msgid "Name is already taken"
+msgstr "Веќе постои такво име"
+
+msgid "New Freedom of Information requests"
+msgstr "Ново барање за слободен пристап до информации"
+
+msgid "New censor rule"
+msgstr "Ново правило за цензура"
+
+msgid "New e-mail:"
+msgstr "Нова е-пошта:"
+
+msgid "New email doesn't look like a valid address"
+msgstr "Не е валидна новата адреса за е-пошта"
+
+msgid "New password:"
+msgstr "Нова лозинка:"
+
+msgid "New password: (again)"
+msgstr "Нова лозинка: (повторно)"
+
+msgid "New response to '{{title}}'"
+msgstr "Нов одговор до '{{title}}'"
+
+msgid "New response to your FOI request - "
+msgstr "Нов одговор до вашето барање за слободен пристап - "
+
+msgid "New response to your request"
+msgstr "Нов одговор до вашето барање"
+
+msgid "New response to {{law_used_short}} request"
+msgstr "Нов одговор до {{law_used_short}} барање"
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr "Новости за барањето '{{request_title}}'"
+
+msgid "Newest results first"
+msgstr "Прво најновите резултати"
+
+msgid "Next"
+msgstr "Следно"
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr "Следно, пресечете ја вашата слика &gt;&gt;"
+
+msgid "No requests of this sort yet."
+msgstr "Се уште нема барања од овој вид."
+
+msgid "No results found."
+msgstr "Нема резултати."
+
+msgid "No similar requests found."
+msgstr "Нема слични барања."
+
+msgid "No tracked things found."
+msgstr "Не се најдени работи кои се следат."
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr "Никој нема направено барање за слободен пристап до информации до {{public_body_name}} преку оваа страна."
+
+msgid "None found."
+msgstr "Ништо не е најдено."
+
+msgid "None made."
+msgstr "Ништо не е направено."
+
+msgid "Not a valid FOI request"
+msgstr "Не е валидно барање за слободен пристап"
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr "Имајте на ум дека барателот нема да биде известен за вашата белешка, бидејќи барањето беше објавено од име на {{public_body_name}}."
+
+msgid "Now check your email!"
+msgstr "Проверете ја вашата е-пошта!"
+
+msgid "Now preview your annotation"
+msgstr "Прегледајте ја вашата белешка"
+
+msgid "Now preview your follow up"
+msgstr "Прегледајте ја вашата реакција"
+
+msgid "Now preview your message asking for an internal review"
+msgstr "Прегледајте ја вашата порака каде барате внатрешна ревизија"
+
+msgid "Number of requests"
+msgstr "Број на барања"
+
+msgid "OR remove the existing photo"
+msgstr "или отстрани ја тековната фотографија"
+
+msgid "Offensive? Unsuitable?"
+msgstr "Навредливо? Несоодветно?"
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr "Ох не! Жалиме што вашето барање беше одбиено. Еве што може да направите следно."
+
+msgid "Old e-mail:"
+msgstr "Стара е-пошта:"
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr "Старата адреса за е-пошта не е иста со онаа која се користи за профилот со кој сте најавени"
+
+msgid "Old email doesn't look like a valid address"
+msgstr "Старата адреса за е-пошта не е валидна адреса"
+
+msgid "On this page"
+msgstr "На оваа страна"
+
+msgid "One FOI request found"
+msgstr "Најдено е едно барање"
+
+msgid "One person found"
+msgstr "Најдена е една личност"
+
+msgid "One public authority found"
+msgstr "Најден е еден имател"
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr "Внесете само кратенки кои реално се употребуваат, во спротивно оставете празно. Кратко или долго име се користи во URL – не се грижете за кршење на URL-ата преку реименување, бидејќи историјата се користи за пренасочување"
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr "Прикажани се само барањата кои се направени преку {{site_name}}."
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr "Само имателот може да одговори на ова барање и јас не ја препознавам адресата од која е пратено ова барање"
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr "Само имателот може да одговори на ова барање, ама нема \"From\" адреса со која треба да се провери"
+
+msgid "Or search in their website for this information."
+msgstr "Или пребарајте ја нивната веб-страна за овие информации."
+
+msgid "Original request sent"
+msgstr "Оригиналното барање е испратено"
+
+msgid "Other:"
+msgstr "Друго:"
+
+msgid "Outgoing message"
+msgstr "Порака за испраќање"
+
+msgid "OutgoingMessage|Body"
+msgstr "OutgoingMessage|Body"
+
+msgid "OutgoingMessage|Last sent at"
+msgstr "OutgoingMessage|Last sent at"
+
+msgid "OutgoingMessage|Message type"
+msgstr "OutgoingMessage|Message type"
+
+msgid "OutgoingMessage|Prominence"
+msgstr "OutgoingMessage|Prominence"
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr "OutgoingMessage|Prominence reason"
+
+msgid "OutgoingMessage|Status"
+msgstr "OutgoingMessage|Status"
+
+msgid "OutgoingMessage|What doing"
+msgstr "OutgoingMessage|What doing"
+
+msgid "Partially successful."
+msgstr "Делумно успешно."
+
+msgid "Password is not correct"
+msgstr "Лозинката не е точна"
+
+msgid "Password:"
+msgstr "Лозинка:"
+
+msgid "Password: (again)"
+msgstr "Лозинка: (повторно)"
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr "Вметнете ја оваа врска во пораките, твитовите и на сите други места:"
+
+msgid "People"
+msgstr "Луѓе"
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Луѓе {{start_count}} до {{end_count}} од {{total_count}}"
+
+msgid "Percentage of requests that are overdue"
+msgstr "Процент на барања со пречекорен рок"
+
+msgid "Percentage of total requests"
+msgstr "Процент на вкупно барања"
+
+msgid "Photo of you:"
+msgstr "Фотографија од вас:"
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr "Планови и административни мерки кои влијаат на овие прашања"
+
+msgid "Play the request categorisation game"
+msgstr "Играј ја играта за категоризација на барања"
+
+msgid "Play the request categorisation game!"
+msgstr "Играј ја играта за категоризација на барања!"
+
+msgid "Please"
+msgstr "Ве молиме"
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr "Ве молиме <a href=\"{{url}}\">контактирајте не</a> ако имате други прашања."
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr "Ве молиме <a href=\"{{url}}\">стапете во контакт</a> со нас за да може да го поправиме."
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr "Ве молиме <strong>одговорете го прашањето погоре</strong> за да знаеме дали да"
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr "Ве молиме <strong>одете до следниве барања</strong> и известете не\\n ако постои информација кај последните барања до нив."
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr "Ве молиме пишувајте <strong>само</strong> пораки кои се директно поврзани со вашето барање {{request_link}}. Ако сакате да побарате информации кои не се дел од оригиналното барање, тогаш <a href=\"{{new_request_link}}\">испратете ново барање</a>."
+
+msgid "Please ask for environmental information only"
+msgstr "Ве молиме прашајте само за информации од областа"
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr "Ве молиме проверете дали URL (долгиот код со букви и бројки) е копиран\\nкоректно од вашата е-пошта."
+
+msgid "Please choose a file containing your photo."
+msgstr "Ве молиме изберете датотека која содржи фотографија од вас."
+
+msgid "Please choose a reason"
+msgstr "Ве молиме изберете причина"
+
+msgid "Please choose what sort of reply you are making."
+msgstr "Ве молиме изберете од кој вид е одговорот кој го правите."
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr "Ве молиме изберете дали добивте или не дел од инфорамциите кои ги баравте."
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr "Ве молиме кликнете на врската подолу за да ги откажете или промените овие пораки."
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr "Ве молиме кликнете на врската подолу за да потврдите дека сакате да \\nја ја промените адресата за е-пошта која ја користите за {{site_name}}\\nод {{old_email}} во {{new_email}}"
+
+msgid "Please click on the link below to confirm your email address."
+msgstr "Ве молиме кликнете на врската подолу за да ја потврдите адресата за е-пошта."
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr "Ве молиме во насловот опишете за што се работи вашето барање. Нема потреба да кажете дека се работи за барање за слободен пристап, ние тоа го додаваме секако."
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr "Ве молиме не прикачувате фотографии со навредлива содржина. Ние ќе ги тргнеме фотографиите\\nкои сметаме дека се несоодветни."
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr "Ве молиме вклучете \"cookies\" за да продолжите "
+
+msgid "Please enter a password"
+msgstr "Ве молиме внесете лозинка"
+
+msgid "Please enter a subject"
+msgstr "Ве молиме внесете наслов"
+
+msgid "Please enter a summary of your request"
+msgstr "Ве молиме внесете резиме од вашето барање"
+
+msgid "Please enter a valid email address"
+msgstr "Ве молиме внесете валидна адреса за е-пошта"
+
+msgid "Please enter the message you want to send"
+msgstr "Ве молиме внесете ја пораката која сакате да ја испратите"
+
+msgid "Please enter the same password twice"
+msgstr "Ве молиме внесете ја истата лозинка два пати"
+
+msgid "Please enter your annotation"
+msgstr "Ве молиме внесете ја вашата белешка"
+
+msgid "Please enter your email address"
+msgstr "Ве молиме внесете ја вашата адреса за е-пошта"
+
+msgid "Please enter your follow up message"
+msgstr "Ве молиме внесете ја вашата реакција"
+
+msgid "Please enter your letter requesting information"
+msgstr "Ве молиме внесете го вашето писмо за барање информации"
+
+msgid "Please enter your name"
+msgstr "Ве молиме внесете го вашето име"
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr "Ве молиме внесете го вашето име, не вашата адреса за е-пошта, во полето за име."
+
+msgid "Please enter your new email address"
+msgstr "Ве молиме внесете ја новата адреса за е-пошта"
+
+msgid "Please enter your old email address"
+msgstr "Ве молиме внесете ја старата адреса за е-пошта"
+
+msgid "Please enter your password"
+msgstr "Ве молиме внесете ја вашата лозинка"
+
+msgid "Please give details explaining why you want a review"
+msgstr "Ве молиме дадете детали каде објаснувате зошто барате ревизија"
+
+msgid "Please keep it shorter than 500 characters"
+msgstr "Ве молам држете се до должина од 500 букви"
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr "Ве молиме за кратко резиме, како наслов на е-пошта. Може да користите фраза, наместо цела реченица."
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr "Ве молиме барајте само информации кои спаѓаат во овие категории, <strong>не го губете вашето\\n време</strong> или времето на имателот барајќи нерелевантни информации."
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr "Ве молиме проследете го ова до личноста која управува со барањата за слободен пристап до информации."
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr "Ве молиме изберете го секое барање по ред и <strong>известете ги сите</strong>\\nако се успешни или неусшешни."
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr "Ве молиме најавете се на дното со вашето име или променете го \"{{signoff}}\" потпис"
+
+msgid "Please sign in as "
+msgstr "Ве молиме најавете се како "
+
+msgid "Please sign in or make a new account."
+msgstr "Ве молиме најавете се или креирајте нова лозинка."
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr "Ве молиме напишете порака и/или изберете датотека која го содржи вашиот одговор."
+
+msgid "Please use this email address for all replies to this request:"
+msgstr "Ве молиме користете ја оваа адреса за е-пошта за сите одговори на ова барање:"
+
+msgid "Please write a summary with some text in it"
+msgstr "Ве молиме напишете кратко резиме"
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "Ве молиме напишете резиме употребувајќи комбинација од големи и мали букви. На тој начин читањето ќе биде полесно."
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "Ве молиме напишете ја вашата белешка употребувајќи големи и мали букви. На тој начин читањето ќе биде полесно."
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr "Ве молиме подолу напишете ја вашата порака за реакција која ќе ги содржи потребните разјаснувања."
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "Ве молиме напишете ја вашата порака употребувајќи комбинација од големи и мали букви. На тој начин читањето ќе биде полесно."
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr "Посочете <strong>поврзани информации</strong>, кампањи или форуми кои може да се корисни."
+
+msgid "Possibly related requests:"
+msgstr "Можни поврзани информации:"
+
+msgid "Post annotation"
+msgstr "Објавете белешка"
+
+msgid "Post redirect"
+msgstr "Објавете пренасочување"
+
+msgid "PostRedirect|Circumstance"
+msgstr "PostRedirect|Circumstance"
+
+msgid "PostRedirect|Email token"
+msgstr "PostRedirect|Email token"
+
+msgid "PostRedirect|Post params yaml"
+msgstr "PostRedirect|Post params yaml"
+
+msgid "PostRedirect|Reason params yaml"
+msgstr "PostRedirect|Reason params yaml"
+
+msgid "PostRedirect|Token"
+msgstr "PostRedirect|Token"
+
+msgid "PostRedirect|Uri"
+msgstr "PostRedirect|Uri"
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr "Објавено на {{date}} од {{author}}"
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr "Поддржано од <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+
+msgid "Prev"
+msgstr "Претходно"
+
+msgid "Preview follow up to '"
+msgstr "Прегледајте реакција до '"
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr "Прегледајте нови белешки од '{{info_request_title}}'"
+
+msgid "Preview your annotation"
+msgstr "Прегледајте ги своите белешки"
+
+msgid "Preview your message"
+msgstr "Прегледајте ги своите пораки"
+
+msgid "Preview your public request"
+msgstr "Прегледајте го своето јавно барање"
+
+msgid "Profile photo"
+msgstr "Фотографија од профил"
+
+msgid "ProfilePhoto|Data"
+msgstr "ProfilePhoto|Data"
+
+msgid "ProfilePhoto|Draft"
+msgstr "ProfilePhoto|Draft"
+
+msgid "Public Bodies"
+msgstr "Јавни институции"
+
+msgid "Public Body Statistics"
+msgstr "Статистика за јавни институции"
+
+msgid "Public authorities"
+msgstr "Јавни надлежни органи"
+
+msgid "Public authorities - {{description}}"
+msgstr "Јавни надлежни органи - {{description}}"
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Јавни надлежни органи {{start_count}} до {{end_count}} од {{total_count}}"
+
+msgid "Public authority – {{name}}"
+msgstr "Јавен надлежен орган – {{name}}"
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr "Јавни институции кои најчесто одговараат со \"Not Held\""
+
+msgid "Public bodies with most overdue requests"
+msgstr "Јавна институција со најголем број барања со прекорачен рок"
+
+msgid "Public bodies with the fewest successful requests"
+msgstr "Јавни институции со најмалку успешни барања"
+
+msgid "Public bodies with the most requests"
+msgstr "Јавни институции со најмногу барања"
+
+msgid "Public bodies with the most successful requests"
+msgstr "Јавни институции со најмногу успешни барања"
+
+msgid "Public body"
+msgstr "Јавна институција"
+
+msgid "Public notes"
+msgstr "Јавни белешки"
+
+msgid "Public page"
+msgstr "Јавна страна"
+
+msgid "Public page not available"
+msgstr "Јавната страна не е достапна"
+
+msgid "PublicBody|Api key"
+msgstr "PublicBody|Api клуч"
+
+msgid "PublicBody|Disclosure log"
+msgstr "PublicBody|Дневник на разоткривање"
+
+msgid "PublicBody|First letter"
+msgstr "PublicBody|Прво писмо"
+
+msgid "PublicBody|Home page"
+msgstr "PublicBody|Почетна страна"
+
+msgid "PublicBody|Info requests count"
+msgstr "PublicBody|Број на барања за информации"
+
+msgid "PublicBody|Info requests not held count"
+msgstr "PublicBody|Број на неостварени барања за информации"
+
+msgid "PublicBody|Info requests overdue count"
+msgstr "PublicBody|Број на пречекорени барања за информации"
+
+msgid "PublicBody|Info requests successful count"
+msgstr "PublicBody|Број на успешни барања за информации"
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr "PublicBody|Последен уреден коментар"
+
+msgid "PublicBody|Last edit editor"
+msgstr "PublicBody|Последен уреден уредник"
+
+msgid "PublicBody|Name"
+msgstr "PublicBody|Име"
+
+msgid "PublicBody|Notes"
+msgstr "PublicBody|Белешки"
+
+msgid "PublicBody|Publication scheme"
+msgstr "PublicBody|Шема на објави"
+
+msgid "PublicBody|Request email"
+msgstr "PublicBody|Побарај е-пошта"
+
+msgid "PublicBody|Short name"
+msgstr "PublicBody|Кратко име"
+
+msgid "PublicBody|Url name"
+msgstr "PublicBody|Име на URL"
+
+msgid "PublicBody|Version"
+msgstr "PublicBody|Верзија"
+
+msgid "Publication scheme"
+msgstr "Шема на објави"
+
+msgid "Publication scheme URL"
+msgstr "URL за шема на објави"
+
+msgid "Purge request"
+msgstr "Барање за пречистување"
+
+msgid "PurgeRequest|Model"
+msgstr "PurgeRequest|Модел"
+
+msgid "PurgeRequest|Url"
+msgstr "PurgeRequest|Url"
+
+msgid "RSS feed"
+msgstr "RSS фид"
+
+msgid "RSS feed of updates"
+msgstr "RSS фид за новости"
+
+msgid "Re-edit this annotation"
+msgstr "Повторно уредете ја оваа белешка"
+
+msgid "Re-edit this message"
+msgstr "Повторно уредете ја оваа порака"
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr "Прочитајте за <a href=\"{{advanced_search_url}}\">напредните оператори за пребарување</a>, како што се proximity и wildcards."
+
+msgid "Read blog"
+msgstr "Читајте го блогот"
+
+msgid "Received an error message, such as delivery failure."
+msgstr "Примена е порака за грешка, можеби е неуспешна доставата."
+
+msgid "Recently described results first"
+msgstr "Прво се прикажуваат резултатите кои се опишани неодамна"
+
+msgid "Refused."
+msgstr "Одбиено."
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr "Запомни ме</label> (останувате подолго време најавени;\\n не го употребувајте на јавен компјутер) "
+
+msgid "Report abuse"
+msgstr "Пријавете злоупотреба"
+
+msgid "Report an offensive or unsuitable request"
+msgstr "Пријавете навредливо или несоодветно барање"
+
+msgid "Report request"
+msgstr "Пријавете барање"
+
+msgid "Report this request"
+msgstr "Пријавете го ова барање"
+
+msgid "Reported for administrator attention."
+msgstr "Пријавете кај администратор."
+
+msgid "Request an internal review"
+msgstr "Побарајте внатрешна ревизија"
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr "Побарајте внатрешна ревизија од {{person_or_body}}"
+
+msgid "Request email"
+msgstr "Побарајте е-пошта"
+
+msgid "Request has been removed"
+msgstr "Барањето е отстрането"
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "Барањето е испратено до {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr "Барање до {{public_body_name}} од {{info_request_user}}. Појаснето од {{event_comment_user}} на {{date}}."
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr "Побарано од {{public_body_name}} од {{info_request_user}} на {{date}}"
+
+msgid "Requested on {{date}}"
+msgstr "Побарано на {{date}}"
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr "Барањата се сметаат со пречекорен рок ако се наоѓаат во 'Пречекорен рок' или 'Многу пречекорен рок' состојба."
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr "Барањата се сметаат за успешни ако се класифицирани како 'Успешно' или 'Делумно успешно'."
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr "Барањата за лични информации и вознемирувачките барања не се сметаат за валидни(<a href=\"/help/about\">прочитај повеќе</a>)."
+
+msgid "Requests or responses matching your saved search"
+msgstr "Барања или одговори кои одговараат на зачуваното пребарување"
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr "Барања слични на '{{request_title}}'"
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr "Барања слични на '{{request_title}}' (страна {{page}})"
+
+msgid "Respond by email"
+msgstr "Одговорете по е-пошта"
+
+msgid "Respond to request"
+msgstr "Одговорете на барање"
+
+msgid "Respond to the FOI request"
+msgstr "Одговорете на барањето за слободен пристап до информации од јавен карактер"
+
+msgid "Respond using the web"
+msgstr "Одговорете преку веб"
+
+msgid "Response"
+msgstr "Одговор"
+
+msgid "Response from a public authority"
+msgstr "Одговор од имателот"
+
+msgid "Response to '{{title}}'"
+msgstr "Одговори на '{{title}}'"
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr "Одговорот на ова барање е <strong>одложено</strong>."
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr "Одговорот на ова барање е со <strong>многу пречекорен рок</strong>."
+
+msgid "Response to your request"
+msgstr "Одговор на вашето барање"
+
+msgid "Response:"
+msgstr "Одговор:"
+
+msgid "Restrict to"
+msgstr "Ограничете на"
+
+msgid "Results page {{page_number}}"
+msgstr "Страна со резултати {{page_number}}"
+
+msgid "Save"
+msgstr "Зачувајте"
+
+msgid "Search"
+msgstr "Барајте"
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr "Пребарајте барања за слободен пристап до информации, иматели и корисници"
+
+msgid "Search contributions by this person"
+msgstr "Пребарајте придонеси од оваа личност"
+
+msgid "Search for words in:"
+msgstr "Пребарајте зборови во:"
+
+msgid "Search in"
+msgstr "Пребарајте во"
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr "Пребарајте<br/>\\n <strong>{{number_of_requests}} барања</strong> <span>и</span><br/>\\n <strong>{{number_of_authorities}} иматели</strong>"
+
+msgid "Search queries"
+msgstr "Фрази за пребарување"
+
+msgid "Search results"
+msgstr "Резултати од пребарување"
+
+msgid "Search the site to find what you were looking for."
+msgstr "Пребарајте го сајтот за да го најдете тоа што го барате."
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] "Пребарајте во рамки на {{count}} барање за слободен пристап до информации до {{public_body_name}}"
+msgstr[1] "Пребарај во рамки на {{count}} барањата за слободен пристап до информации направени до {{public_body_name}}"
+
+msgid "Search your contributions"
+msgstr "Пребарајте ги вашите придонеси"
+
+msgid "See bounce message"
+msgstr "Видете ја одбиената порака"
+
+msgid "Select one to see more information about the authority."
+msgstr "Изберете имател за да видите повеќе информации."
+
+msgid "Select the authority to write to"
+msgstr "Изберете имател до кој ќе пишете"
+
+msgid "Send a followup"
+msgstr "Испратете реакција"
+
+msgid "Send a message to "
+msgstr "Испратете порака до"
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr "Испратете јавна порака со реакција на {{person_or_body}}"
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr "Испратете јавен одговор до {{person_or_body}}"
+
+msgid "Send follow up to '{{title}}'"
+msgstr "Испратете реакција до '{{title}}'"
+
+msgid "Send message"
+msgstr "Испратете порака"
+
+msgid "Send message to "
+msgstr "Испратете порака до"
+
+msgid "Send request"
+msgstr "Испратете барање"
+
+msgid "Set your profile photo"
+msgstr "Поставете фотографија за профилот"
+
+msgid "Short name"
+msgstr "Кратко име"
+
+msgid "Short name is already taken"
+msgstr "Краткото име е веќе зафатено"
+
+msgid "Show most relevant results first"
+msgstr "Прикажи ги релевантните резултати први"
+
+msgid "Show only..."
+msgstr "Прикажи само..."
+
+msgid "Showing"
+msgstr "Прикажани се"
+
+msgid "Sign in"
+msgstr "Најавете се"
+
+msgid "Sign in or make a new account"
+msgstr "Најавете се или креирајте нов профил"
+
+msgid "Sign in or sign up"
+msgstr "Најавете се или регистрирајте се"
+
+msgid "Sign out"
+msgstr "Одјавете се"
+
+msgid "Sign up"
+msgstr "Регистрирајте се"
+
+msgid "Similar requests"
+msgstr "Слични барања"
+
+msgid "Simple search"
+msgstr "Едноставно пребарување"
+
+msgid "Some notes have been added to your FOI request - "
+msgstr "Додадени се неколку белешки во вашето барање - "
+
+msgid "Some of the information requested has been received"
+msgstr "Дел од побараните информации се примени"
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr "Некои од луѓето кои имаат направено барања не немаат известено дали тие се\\nуспешни или не. Ни треба <strong>вашата</strong> помош &ndash;\\nИзберете едно од барањата, прочитајте го и известете ги сите дали \\nинформациите се обезбедени или не. Сите ќе бидат мошне благодарни."
+
+msgid "Somebody added a note to your FOI request - "
+msgstr "Некој додаде белешка на вашето барање - "
+
+msgid "Someone has updated the status of your request"
+msgstr "Некој го ажурираше статусот на вашето барање"
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr "Некој, можеби вие, само што се обиде да ја промени адресата за е-пошта на\\n{{site_name}} од {{old_email}} во {{new_email}}."
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr "Се извинуваме - не можете да одговорите на ова барање преку {{site_name}}, бидејќи ова е копија од оригиналното барање на {{link_to_original_request}}."
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr "Се извинуваме, но само {{user_name}} може да го направи тоа."
+
+msgid "Sorry, there was a problem processing this page"
+msgstr "Се извинуваме, настана проблем при процесирање на оваа страница"
+
+msgid "Sorry, we couldn't find that page"
+msgstr "Се извинуваме, не можевме да ја најдеме таа страница"
+
+msgid "Special note for this authority!"
+msgstr "Специјална белешка за овој имател!"
+
+msgid "Start now &raquo;"
+msgstr "Почнете сега &raquo;"
+
+msgid "Start your own blog"
+msgstr "Почнете сопствен блог"
+
+msgid "Stay up to date"
+msgstr "Останете во тек"
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr "Се уште се чека на <strong>внатрешна ревизија</strong>"
+
+msgid "Subject"
+msgstr "Наслов"
+
+msgid "Subject:"
+msgstr "Наслов:"
+
+msgid "Submit"
+msgstr "Испратете"
+
+msgid "Submit status"
+msgstr "Испратете статус"
+
+msgid "Submit status and send message"
+msgstr "Испратете статус и испратете порака"
+
+msgid "Subscribe to blog"
+msgstr "Претплатете се на блогот"
+
+msgid "Successful Freedom of Information requests"
+msgstr "Успешно барање за слободен пристап до информации"
+
+msgid "Successful."
+msgstr "Успешно."
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr "Предложете како барателот може да го најде <strong>остатокот од информацијата</strong>."
+
+msgid "Summary:"
+msgstr "Резиме:"
+
+msgid "Table of statuses"
+msgstr "Табела од статуси"
+
+msgid "Table of varieties"
+msgstr "Табела од разноличности"
+
+msgid "Tags"
+msgstr "Тагови"
+
+msgid "Tags (separated by a space):"
+msgstr "Тагови (одвоени со празно место):"
+
+msgid "Tags:"
+msgstr "Тагови:"
+
+msgid "Technical details"
+msgstr "Технички детали"
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr "Ви благодариме што помагате да го одржиме сајтот уреден!"
+
+msgid "Thank you for making an annotation!"
+msgstr "Ви благодариме што направивте белешка!"
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr "Ви благодариме што одговоривте на ова барање за слободен пристап до информации од јавен карактер! Вашиот одговор е објавен подолу и пратена е врска до вашето барање по е-пошта до "
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr "Ви благодариме за ажурирање на статусот на барањето '<a href=\"{{url}}\">{{info_request_title}}</a>'. Постојат уште неколку барања подолу кои може да ги класифицирате."
+
+msgid "Thank you for updating this request!"
+msgstr "Ви благодариме што го ажуриравте барањето!"
+
+msgid "Thank you for updating your profile photo"
+msgstr "Ви благодариме за ажурирање на фотографијата за профил"
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr "Ви благодариме! Ќе погледнеме што се случило и ќе се обидеме да го поправиме."
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr "Благодариме за помошта - вашиот придонес ќе помогне сите да може лесно да најдат успешни\\nодговори."
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr "Многу ви благодариме - ова ќе помогне другите да најдат корисни работи. Ние исто така\\n ќе ви дадеме совет, доколку ви треба, што да напрвите следно со вашите\\n барања."
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr "Многу ви благодариме што помогнавте се да е <strong>уредно и организирано</strong>.\\n Ние исто така ќе ви дадеме совет, доколку ви треба, што да направите следно за секое од вашите\\n барања."
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr "Тоа не е валидна адреса за е-пошта. Ве молиме проверете дали ја внесовте правилно."
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr "<strong>Ревизијата заврши</strong> и севкупно:"
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr "Законот за слободен пристап до информации <strong>не важи</strong> на"
+
+msgid "The accounts have been left as they previously were."
+msgstr "Сметките се оставени во првобитната состојба."
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr "Имателот ги<strong>нема</strong> информациите <small>(можеби имаат кажано кој може да ги има)"
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr "Имателот поседува само <strong>печатена копија</strong> од информациите."
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr "Имателот вели дека им е потребна <strong>поштенска\\n адреса</strong>, не само е-пошта, за барањето да биде валидно"
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr "Имателот би сакал да/има <strong>одговорено по пошта</strong> на ова барање."
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr "Класификацијата на барањата (на пр. да се каже дали се успешни или не) се направени рачно од страна на корисниците и администраторите на сајтот, што значи дека можно е да постои грешка."
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr "Е-поштата која вие, во име на {{public_body}}, ја испративте до\\n{{user}} за да одговорите на барањето {{law_used_short}}\\n не беше доставена."
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr "Баровите за грешка од дијаграмот се 95% интервали на доверба за претпоставената основна пропорција (т.е. она што ќе се добие со пласирање бесконечен број на барања преку овој сајт до тој имател). Со други зборови, популацијата која е примерокот е составена од моментални и идни баратели до имателот преку овој сајт, наместо, да речеме, сите барања кои биле направени до јавната институција по секоја цена."
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr "Страната не постои. Работи кои може да ги пробате:"
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr "Процентите се пресметуваат во однос на вкупниот број на барања, кој вклучува неважечки барања. Ова е познат проблем кој ќе биде надминат во следните верзии."
+
+msgid "The public authority does not have the information requested"
+msgstr "Имателот ја нема бараната информација"
+
+msgid "The public authority would like part of the request explained"
+msgstr "Имателот би сакал дел од барањето да се објасни"
+
+msgid "The public authority would like to / has responded by post"
+msgstr "Имателот би сакал да/веќе одговорил по пошта"
+
+msgid "The request has been <strong>refused</strong>"
+msgstr "Барањето беше <strong>одбиено</strong>"
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr "Барањето беше ажурирано откако ја вчитавте оваа страна. Ве молиме проверете за нови дојдовни пораки подолу и обидете се повторно."
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr "Барањето <strong>чека за класификација</strong>."
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr "Барањето е <strong>делумно успешно</strong>."
+
+msgid "The request was <strong>refused</strong> by"
+msgstr "Барањето е <strong>одбиено</strong> by"
+
+msgid "The request was <strong>successful</strong>."
+msgstr "Барањето беше <strong>успешно</strong>."
+
+msgid "The request was refused by the public authority"
+msgstr "Барањето беше одбиено од имателот"
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr "Барањето кое се обидовте да го видете беше отстрането. Постојат\\nразни причини зошто го направивме ова, се извинуваме, не можеме да бидеме поконкретни овде. Ве молиме <a\\n href=\"{{url}}\">контактирајте не</a> ако имате прашања."
+
+msgid "The requester has abandoned this request for some reason"
+msgstr "Барателот го напушти ова барање од некои причини"
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr "Одговорот на вашето барање е <strong>одложен</strong>. Можете да кажете дека,\\n според закон, имателот нормално би требало да одговори\\n <strong>веднаш</strong> и"
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr "Одговорот на вашето барање е со <strong>многу пречекорено рок</strong>. Може да кажете дека, според\\n закон, под сите околности, имателот требало да одговори\\n до сега"
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr "Регистарот за пребарување во моментов е офлајн, па не сме во можност да ги прикажеме барањата за слободен пристап до информации кои се направени до овој имател."
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr "Регистарот за пребарување во моментов е офлајн, па не сме во можност да ги прикажеме барањата за слободен пристап до информации кои се направени од оваа личност."
+
+msgid "The {{site_name}} team."
+msgstr "Тимот на {{site_name}}."
+
+msgid "Then you can cancel the alert."
+msgstr "Тогаш можете да го откажете предупредувањето."
+
+msgid "Then you can cancel the alerts."
+msgstr "Тогаш можете да ги откажете предупредувањата."
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr "Тогаш можете да ја промените адресата за е-пошта која се користи на {{site_name}}"
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr "Тогаш можете да ја промените лозинката на {{site_name}}"
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr "Тогаш можете да го класифицирате одговорот кој го добивте од "
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr "Тогаш можете да преземете zip датотека од {{info_request_title}}."
+
+msgid "Then you can log into the administrative interface"
+msgstr "Тогаш можете да се најавите на интерфејсот за администрирање "
+
+msgid "Then you can play the request categorisation game."
+msgstr "Тогаш можете да ја играте играта за категоризација на барањата."
+
+msgid "Then you can report the request '{{title}}'"
+msgstr "Тогаш можете да го пријавите барањето '{{title}}'"
+
+msgid "Then you can send a message to "
+msgstr "Тогаш можете да пратите порака до"
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr "Тогаш можете да се најавите на {{site_name}}"
+
+msgid "Then you can update the status of your request to "
+msgstr "Тогаш можете да го ажурирате статусот на вашето барање до "
+
+msgid "Then you can upload an FOI response. "
+msgstr "Тогаш можете да прикачите одговор. "
+
+msgid "Then you can write follow up message to "
+msgstr "Тогаш можете да напишете порака за реакција до"
+
+msgid "Then you can write your reply to "
+msgstr "Тогаш можете да напишете одговор до "
+
+msgid "Then you will be following all new FOI requests."
+msgstr "Тогаш ќе ги следите сите нови барања."
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr "Тогаш ќе бидете известени секогаш кога '{{user_name}}' ќе побара нешто или ќе добие одговор."
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr "Тогаш ќе бидете известени секогаш кога ново барање или одговор ќе одговара на вашето пребарување."
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr "Тогаш ќе бидете известени секогаш кога барање за слободен пристап ќе биде успешно."
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr "Тогаш ќе бидете известени секогаш кога некој ќе побара нешто или ќе добие одговор од '{{public_body_name}}'."
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr "Тогаш ќе бидете известени секогаш кога барањето '{{request_title}}' е ажурирано."
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr "Тогаш ќе ви биде дозволено да праќате барања."
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr "Тогаш вашето барање до {{public_body_name}} ќе биде испратено."
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr "Тогаш вашата белешка до {{info_request_title}} ќе биде објавена."
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr "Постојат {{count}} нови белешки на вашето {{info_request}} барање. Кликнете на оваа врска за да видете што напишале."
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr "Постои <strong>повеќе од еден корисник</strong> кој ја користи оваа страна и го има ова име.\\n Еден од нив е прикажан подолу, можеби мислевте на друг:"
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr "Постои ограничување за бројот на барања кои може да ги направите во еден ден, бидејќи не сакаме имателите да бидат „бомбардирани“ со голем број на барања. Доколку сметате дека имате јака причина зошто ова ограничување не треба да важи за вас, ве молиме <a href='{{help_contact_path}}'>стапете во контакт</a>."
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] "Постои {{count}} корисник кој го следи ова барање"
+msgstr[1] "Постојат {{count}} корисници кои го следат ова барање"
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr "Настана <strong>грешка при достава</strong> или слична грешка, за која е потребна исправка од {{site_name}} тимот."
+
+msgid "There was an error with the words you entered, please try again."
+msgstr "Настана грешка со зборовите кои ги внесовте, ве молиме обидете се повторно."
+
+msgid "There was no data calculated for this graph yet."
+msgstr "Се уште не постои пресметан податок за овој график."
+
+msgid "There were no requests matching your query."
+msgstr "Не постојат барања кои одговараат на вашата фраза за пребарување."
+
+msgid "There were no results matching your query."
+msgstr "Не постојат резултати кои одговараат на вашата фраза за пребарување."
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr "Овие графикони беа делумно инспирирани од <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">некои статистики кои Mark Goodge ги изработи за WhatDoTheyKnow</a>, па затоа голема благодарност до него."
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr "Тие ќе одговорат преку <strong>пошта</strong>"
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr "Тие ја<strong>немаат</strong> информацијата <small>(можеби ќе кажат кој ја има)</small>"
+
+msgid "They have been given the following explanation:"
+msgstr "Им беше дадено следново објаснување:"
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr "Тие немаат одговорено на вашето {{law_used_short}} барање {{title}} веднаш, како што нормално законот изнудува"
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr "Тие немаат одговорено на вашето {{law_used_short}} барање {{title}}, \\nкако што изнудува законот"
+
+msgid "Things to do with this request"
+msgstr "Работи кои може да се направат со ова барање"
+
+msgid "Things you're following"
+msgstr "Работи кои ги следите"
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr "Имателот не постои повеќе, затоа не може да направите барање до него."
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr "Ова покрива широк спектар од информации за состојбата на\\n <strong>околината</strong>, како што се:"
+
+msgid "This external request has been hidden"
+msgstr "Надворешното барање беше сокриено"
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr "Ова е верзија од барањето за слободен пристап до информации \"{{request_title}}\", во која е прикажано само текст. Последната, целосна верзија е достапна онлајн на {{full_url}}"
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr "Ова е HTML верзија од прилогот за барањето за слободен пристап до информации"
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr "Ова е бидејќи {{title}} е старо барање кое било\\nмаркирано повеќе да не добива одговори."
+
+msgid "This is the first version."
+msgstr "Ова е првата верзија."
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr "Ова е ваше сопствено барање, затоа автоматски ќе ви биде испратена е-пошта кога ќе пристигне нов одговор."
+
+msgid "This message has been hidden."
+msgstr "Оваа порака беше скриена."
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr "Оваа порака беше скриена. Постојат повеќе причини зошто сме го направиле ова, се извинуваме што не можеме да бидеме поконкретни тука."
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr "Оваа порака има ознака 'hidden' (скриена). Може да ја видите затоа што се најавени како супер корисник."
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr "Оваа порака има ознака 'hidden' (скриена). {{reason}} Може да ја видите затоа што се најавени како супер корисник."
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr "Оваа порака е сокриена, за да може само вие, барателот, да ја видите. Ве молиме <a href=\"{{url}}\">контактирајте не</a> ако не сте сигурни зошто."
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr "Оваа порака е сокриена, за да може само вие, барателот, да ја видите. {{reason}}"
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr "Оваа страница со статистика за имателот е во експериментална фаза, па постојат некои ограничувања кои треба да ги имате на ум:"
+
+msgid "This particular request is finished:"
+msgstr "Ова конкретно барање е завршено:"
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr "Оваа личност нема направено барања за слободен пристап до информации преку оваа страна."
+
+msgid "This person's annotations"
+msgstr "Белешки од оваа личност"
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] "{{count}} барање за слободен пристап до информации од оваа личност"
+msgstr[1] "{{count}} барања за слободен пристап до информации од оваа личност"
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] "{{count}} белешка од оваа личност"
+msgstr[1] "{{count}} белешки од оваа личност"
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr "Ова барање <strong>изнудува внимание од администратор</strong>"
+
+msgid "This request has already been reported for administrator attention"
+msgstr "Ова барање е веќе пријавено за проверка од администратор"
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr "Ова барање има <strong>непознат статус</strong>."
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr "Ова барање беше <strong>сокриено</strong> на страната, бидејќи администраторот сметал дека истото не е барање за слободен пристап до информации од јавен карактер"
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr "Ова барање беше <strong>сокриено</strong> на страната, бидејќи администраторот сметал дека истото е вознемирувачко"
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr "Ова барање беше <strong>пријавено</strong> за проверка од администратор (можеби е вознемирувачко или побарува лични податоци)"
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr "Ова барање беше <strong>повлечено</strong> од корисникот кој го направи.\\n Можеби има објаснување во коресподенцијата подолу."
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Ова барање беше означено за проверка од администраторите, кои засега го немаат сокриено. Ако верувате дека треба да биде сокриено, ве молиме <a href=\"{{url}}\">контактирајте не</a>."
+
+msgid "This request has been reported for administrator attention"
+msgstr "Ова барање беше пријавено за проверка од администратор"
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr "Ова барање беше означено од администратор да \"не прима нови барања\""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr "За ова барање беше испратен невообичаен одговор и <strong>изнудува внимание</strong> од {{site_name}} тимот."
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr "Ова барање има ознака 'hidden' (сокриено). Може да го гледате само затоа што сте најавени\\n како супер корисник."
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr "Ова барање е сокриено, затоа само вие, барателот, може да го видите. Ве молиме\\n <a href=\"{{url}}\">контактирајте не</a> ако не сте сигурни зошто."
+
+msgid "This request is still in progress:"
+msgstr "Ова барање се уште се процесира:"
+
+msgid "This request requires administrator attention"
+msgstr "Ова барање изнудува внимание од администратор"
+
+msgid "This request was not made via {{site_name}}"
+msgstr "Ова барање не беше направено преку {{site_name}}"
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr "Оваа табела ги прикажува техничките детали од интерните настани кои се случија\\nза ова барање на {{site_name}}. Ова може да се користи за генерирање информации за\\nбрзината со која имателите одговараат на барањата, бројот на барањата\\nкои изнудуваат одговор преку пошта и др.."
+
+msgid "This user has been banned from {{site_name}} "
+msgstr "Овој корисник има забрана за пристап до {{site_name}} "
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr "Ова не е возможно бидејќи веќе постои сметка која ја користи \\nоваа адреса за е-пошта {{email}}."
+
+msgid "To cancel these alerts"
+msgstr "За да ги откажете овие предупредувања"
+
+msgid "To cancel this alert"
+msgstr "За да го откажете ова предупредување"
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr "За да продолжите, треба да се најавите или да креирате сметка. За жал, настана\\nтехнички проблем при обидот."
+
+msgid "To change your email address used on {{site_name}}"
+msgstr "За да ја промените адресата за е-пошта која се користи на {{site_name}}"
+
+msgid "To classify the response to this FOI request"
+msgstr "За да го класифицирате одговорот на ова барање за слободен пристап до информации"
+
+msgid "To do that please send a private email to "
+msgstr "За да го направите тоа, ве молиме испратете приватна е-пошта до "
+
+msgid "To do this, first click on the link below."
+msgstr "За да го напрвите ова, прво кликнете на врската подолу."
+
+msgid "To download the zip file"
+msgstr "За да преземете zip датотека"
+
+msgid "To follow all successful requests"
+msgstr "За да ги следите успешните барања"
+
+msgid "To follow new requests"
+msgstr "За да ги следите новите барања"
+
+msgid "To follow requests and responses matching your search"
+msgstr "За да ги следите барањата и одговорите кои одговараат на вашето пребарување"
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr "За да ги следите барањата од '{{user_name}}'"
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr "За да ги следите барањата направени преку {{site_name}} до имателот '{{public_body_name}}'"
+
+msgid "To follow the request '{{request_title}}'"
+msgstr "За да го следите барањето '{{request_title}}'"
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr "За да ни помогне да ја одржиме страната уредна, некој друг го ажурирал статусот за \\n{{law_used_full}} барањето {{title}} кое го направивте до {{public_body}}, во \"{{display_status}}\" Ако не се согласувате со категоризацијата, Ве молиме ажурирајте го статусот одново во она што сметате дека е поточно."
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr "За да ги известите сите, следете ја оваа врска и потоа изберете го соодветното сандаче."
+
+msgid "To log into the administrative interface"
+msgstr "За да се најавите на администраторскиот интерфејс"
+
+msgid "To play the request categorisation game"
+msgstr "За да ја играте играта за категоризација на барања"
+
+msgid "To post your annotation"
+msgstr "За да ја објавите вашата белешка"
+
+msgid "To reply to "
+msgstr "За да одговорите до "
+
+msgid "To report this request"
+msgstr "За да го пријавите ова барање"
+
+msgid "To send a follow up message to "
+msgstr "За да пратите порака за реакција до "
+
+msgid "To send a message to "
+msgstr "За да пратите порака до "
+
+msgid "To send your FOI request"
+msgstr "За да го пратите вашето барање"
+
+msgid "To update the status of this FOI request"
+msgstr "За да го ажурирате статусот на ова барање"
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr "За да прикачите одговор, мора да сте најавени со адресата за е-пошта од "
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr "За да го користете напредното пребарување, комбинирајте фрази и натписи како што е објаснето во препораките за пребарување подолу."
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr "За да ја видите адресата за е-пошта која ја користиме за испраќање барања до {{public_body_name}}, Ве молиме внесете ги овие зборови."
+
+msgid "To view the response, click on the link below."
+msgstr "За да го видите одговорот, кликнете на врската подолу."
+
+msgid "To {{public_body_link_absolute}}"
+msgstr "До {{public_body_link_absolute}}"
+
+msgid "To:"
+msgstr "До:"
+
+msgid "Today"
+msgstr "Денес"
+
+msgid "Too many requests"
+msgstr "Премногу барања"
+
+msgid "Top search results:"
+msgstr "За да пребарувате барања:"
+
+msgid "Track thing"
+msgstr "Следете го предметот"
+
+msgid "Track this person"
+msgstr "Следете ја оваа личност"
+
+msgid "Track this search"
+msgstr "Следете го ова пребарување"
+
+msgid "TrackThing|Track medium"
+msgstr "TrackThing|Следи медиум"
+
+msgid "TrackThing|Track query"
+msgstr "TrackThing|Следи фраза"
+
+msgid "TrackThing|Track type"
+msgstr "TrackThing|Следи тип"
+
+msgid "Turn off email alerts"
+msgstr "Исклучете ги предупредувањата преку е-пошта"
+
+msgid "Tweet this request"
+msgstr "Твитнете за ова барање"
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr "Внеси <strong><code>01/01/2013..14/01/2013</code></strong> за да ги покажеш работите кои се случиле во првите две недели од јануари."
+
+msgid "URL name can't be blank"
+msgstr "URL името не може да биде празно"
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr "Не може да се промени адресата за е-пошта на {{site_name}}"
+
+msgid "Unable to send a reply to {{username}}"
+msgstr "Не може да се испрати одговор на {{username}}"
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr "Не може да се испрати порака за реакција до {{username}}"
+
+msgid "Unexpected search result type"
+msgstr "Неочекуван тип на резултат од пребарување"
+
+msgid "Unexpected search result type "
+msgstr "Неочекуван тип на резултат од пребарување "
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+"За жал, не ја знаеме адресата за е-пошта за слободен пристап до информации\n"
+"за тој имател, така што не можеме да го потврдиме ова.\n"
+"Ве молиме <a href=\"{{url}}\">контактирајте не</a> за да ја разјасниме ситуацијава."
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+"За жал, немаме исправна {{info_request_law_used_full}}\n"
+"адреса за"
+
+msgid "Unknown"
+msgstr "Непознат"
+
+msgid "Unsubscribe"
+msgstr "Откажи претплата"
+
+msgid "Unusual response."
+msgstr "Невообичаен одговор."
+
+msgid "Update the status of this request"
+msgstr "Ажурирајте го статусот за ова барање"
+
+msgid "Update the status of your request to "
+msgstr "Ажурирајте го статусот на вашето барање до "
+
+msgid "Upload FOI response"
+msgstr "Прикачи одговор"
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr "Користете OR (со големи букви) кога ви е сеедно кој збор, на пр. <strong><code>улици OR булевари</code></strong>"
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr "Користете наводници кога сакате да пронајдете идентична фраза, на пр. <strong><code>\"Министерство за внатрешни работи\"</code></strong>"
+
+msgid "User"
+msgstr "Корисник"
+
+msgid "User info request sent alert"
+msgstr "Барањето за информации за корисник испрати предупредување"
+
+msgid "User – {{name}}"
+msgstr "Корисник – {{name}}"
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr "UserInfoRequestSentAlert|Тип на предупредување"
+
+msgid "User|About me"
+msgstr "User|За мене"
+
+msgid "User|Admin level"
+msgstr "User|Администраторско ниво"
+
+msgid "User|Ban text"
+msgstr "User|Текст за исклучување"
+
+msgid "User|Email"
+msgstr "User|Е-пошта"
+
+msgid "User|Email bounce message"
+msgstr "User|Прака за одбиената порака"
+
+msgid "User|Email bounced at"
+msgstr "User|Е-пошта одбиена кај"
+
+msgid "User|Email confirmed"
+msgstr "User|Е-пошта потврдена"
+
+msgid "User|Hashed password"
+msgstr "User|Хаширани лозинки"
+
+msgid "User|Last daily track email"
+msgstr "User|Последна е-пошта од дневно следење"
+
+msgid "User|Locale"
+msgstr "User|Јазик"
+
+msgid "User|Name"
+msgstr "User|Име"
+
+msgid "User|No limit"
+msgstr "User|Без ограничување"
+
+msgid "User|Receive email alerts"
+msgstr "User|Добивај предупредувања по е-пошта"
+
+msgid "User|Salt"
+msgstr "User|Сол"
+
+msgid "User|Url name"
+msgstr "User|Url име"
+
+msgid "Version {{version}}"
+msgstr "Верзија {{version}}"
+
+msgid "View FOI email address"
+msgstr "Видете ја адресата за е-пошта за слободен пристап до информации од јавен карактер"
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr "Видете ја адресата за е-пошта за слободен пристап до информации за '{{public_body_name}}'"
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr "Видете ја адресата за е-пошта за слободен пристап со информации од јавен карактер за {{public_body_name}}"
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr "Видете ги барањата за слободен пристап до информации од јавен карактер направени од {{user_name}}:"
+
+msgid "View and search requests"
+msgstr "Видете и пребарајте барања"
+
+msgid "View authorities"
+msgstr "Видете ги имателите"
+
+msgid "View email"
+msgstr "Видете е-пошта"
+
+msgid "View requests"
+msgstr "Видете барања"
+
+msgid "Waiting clarification."
+msgstr "Се чека појаснување."
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr "Се чека на <strong>интерна ревизија </strong> од {{public_body_link}} во врска со нивната обработка на ова барање."
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr "Се чека имателот да ја заврши внатрешната ревизија за нивната обработка на барањето"
+
+msgid "Waiting for the public authority to reply"
+msgstr "Се чека имателот да одговори"
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr "Дали одговорот што го добивте на вашето барање ви е од корист?"
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr "Сметаме дека ова не е важечко барање за слободен пристап, па од тие причини го сокривме од останатите корисници."
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr "Сметаме дека ова барање е вознемирувачко, па од тие причини го сокривме од останатите корисници."
+
+msgid "We do not have a working request email address for this authority."
+msgstr "Немаме исправна адреса за е-пошта за овој имател."
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr "Немаме исправна {{public_body_name}} адреса за {{law_used_full}}."
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr "Не знаеме дали последниот одговор на ова барање содржи\\n информации или не\\n &ndash;\\n\tако сте вие {{user_link}} Ве молиме <a href=\"{{url}}\">најавете се</a> и известете ги сите."
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr "Нема да ја откриеме вашата адреса за е-пошта на никого освен ако вие\\nили законот не не натера да го направиме тоа (<a href=\"{{url}}\">детали</a>). "
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr "Нема да ја откриеме вашата адреса за е-пошта на никого освен ако вие\\nили законот не не натера да го направиме тоа."
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr "Нема да ја откриеме вашата адреса за е-пошта на никого, освен ако вие\\nили законот не не натера да го направиме тоа."
+
+msgid "We're waiting for"
+msgstr "Чекаме за"
+
+msgid "We're waiting for someone to read"
+msgstr "Чекаме некој да прочита"
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+"Испративме е-пошта на вашата нова адреса за е-пошта. Ќе мора да кликнете на врската во неа\n"
+"пред вашата адреса за е-пошта да биде променета."
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr "Ви испративме е-пошта, потребно е да кликнете на врската во неа пред да \\nпродолжите."
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr "Ви испративме е-пошта, кликнете на врската во неа, па потоа ќе може да ја промените лозинката."
+
+msgid "What are you doing?"
+msgstr "Што правите?"
+
+msgid "What best describes the status of this request now?"
+msgstr "Што најдобро го опишува статусот на ова барање?"
+
+msgid "What information has been released?"
+msgstr "Кои информации се објавени?"
+
+msgid "What information has been requested?"
+msgstr "Кои информации се побарани?"
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr "Кога ќе стигнете таму, ве молиме ажурирајте го статусот за да известите дали одговорот\\nсодржи корисни информации."
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+"Кога ќе добиете одговор на хартија, ве молиме помогнете\n"
+" на другите да дознаат што пишува во него:"
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr "Кога ќе завршите, <strong>вратете се овде</strong>, <a href=\"{{url}}\">вчитајте ја одново оваа страница</a> и поднесете го вашето ново барање."
+
+msgid "Which of these is happening?"
+msgstr "Што од следново се случува?"
+
+msgid "Who can I request information from?"
+msgstr "Од кого може да побарам информации?"
+
+msgid "Withdrawn by the requester."
+msgstr "Повлечено од страна на барателот."
+
+msgid "Wk"
+msgstr "Нд"
+
+msgid "Would you like to see a website like this in your country?"
+msgstr "Дали би сакале да имате ваква интернет-страна во вашата земја?"
+
+msgid "Write a reply"
+msgstr "Напишете одговор"
+
+msgid "Write a reply to "
+msgstr "Напишете одговор до"
+
+msgid "Write your FOI follow up message to "
+msgstr "Напишете ја пораката за реакција до "
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr "Напишете го вашето барање со <strong>едноставен, прецизен речник</strong>."
+
+msgid "You"
+msgstr "Вие"
+
+msgid "You are already following new requests"
+msgstr "Веќе ги следите новите барања"
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr "Веќе ги следите барања до '{{public_body_name}}'"
+
+msgid "You are already following things matching this search"
+msgstr "Веќе ги следите новите работи кои одговараат на ова пребарување"
+
+msgid "You are already following this person"
+msgstr "Веќе го следите овој корисник"
+
+msgid "You are already following this request"
+msgstr "Веќе го следите ова барање"
+
+msgid "You are already following updates about {{track_description}}"
+msgstr "Веќе ги следите новостите за {{track_description}}"
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr "Во моментов, преку е-пошта, добивате известувања за нови активности на вашиот ѕид."
+
+msgid "You are following all new successful responses"
+msgstr "Ги следите сите нови успешни барања"
+
+msgid "You are no longer following {{track_description}}."
+msgstr "Повеќе не ги следите {{track_description}}."
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr "Сега <a href=\"{{wall_url_user}}\">следите</a> новости за {{track_description}}"
+
+msgid "You can <strong>complain</strong> by"
+msgstr "Можете да се <strong>жалите</strong> така што"
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr "Може да ги промените барањата и корисниците кои ги следите на <a href=\"{{profile_url}}\">вашата профил-страница</a>."
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr "Може да ја добиете оваа страница во компјутерски-читлив формат како дел од главната JSON\\nстраница за ова барање. Видете ја <a href=\"{{api_path}}\">API документацијата</a>."
+
+msgid "You can only request information about the environment from this authority."
+msgstr "Од овој имател може да побарате информација само за животната средина."
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr "Имате нов одговор на {{law_used_full}} барање "
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr "Најдовте софтверска грешка. Ве молиме <a href=\"{{contact_url}}\">контактирајте не</a> за да ни го посочите проблемот"
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr "Го исполнивте ограничувањето за нови барања. Корисниците обично се ограничени на {{max_requests_per_user_per_day}} барања во период од 24 часа. Ќе може да направите ново барање за {{can_make_another_request}}."
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr "Немате направено барање за слободен пристап до информации преку оваа страна."
+
+msgid "You have now changed the text about you on your profile."
+msgstr "Го променивте текстот за вас на вашиот профил."
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr "Ја променивте адресата за е-пошта која се користи на {{site_name}}"
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+"Пробавте да се регистрирате на {{site_name}}, а веќе\n"
+"имате сметка. Вашето име и лозинка останаа\n"
+"исти како претходно.\n"
+"\n"
+"Ве молиме кликнете на врската подолу."
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr "Знаете што ја предизвика оваа грешка и можете <strong>да предложите решение</strong>, како што е важечка адреса за е-пошта."
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr "Можете да <strong>вклучите прилози</strong>. Ако сакате да прикачите\\n датотека која е голема за е-пошта, тогаш користете ја формата подолу."
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+"Можеби ќе можете да најдете\n"
+" на нивната веб-страна или со прашање преку телефонски повик. Ако успеете\n"
+" да најдете, ве молиме <a href=\"{{url}}\">да ни ја пратите</a>."
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+"Можеби ќе може да најдете\n"
+"на нивната веб-страна или да ги прашате по телефон. Ако успеете\n"
+"да најдете, ве молиме <a href=\"{{help_url}}\">пратете и до нас</a>."
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr "Мора да сте најавени за да го промените текстот за вас на вашиот профил."
+
+msgid "You need to be logged in to change your profile photo."
+msgstr "Мора да сте најавени за да ја промените фотографијата на вашиот профил."
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr "Мора да сте најавени за да ја избришете фотографијата на вашиот профил."
+
+msgid "You need to be logged in to edit your profile."
+msgstr "Мора да сте најавени за да го уредите вашиот профил."
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr "Мора да сте најавени за да пријавите барање за разгледување од администратори"
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr "Веќе имате испратено идентична порака за надоврзување за ова барање."
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr "Би требало да имате добиено копија од барањето по е-пошта и може да одговорите\\n со <strong>одговарање (reply)</strong> на таа порака. Еве ја адресата:"
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr "Сакате да ја <strong>дадете вашата поштенска адреса</strong> на имателот приватно, без да ја споделите со сите."
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr "Нема да можете да правите нови барања, да реагирате, додавате белешки или\\nда праќате пораки до други корисници. Можете да продолжите со гледање други барања и да прилагодувате\\nпредупредувања преку е-пошта."
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr "Нема да добивате повеќе новости за овие предупредувања по е-пошта"
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr "Сега, преку е-пошта, ќе добивате новости за {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Преферирате да не добивате е-пошта?</a>"
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr "Ќе добиете одговор на вашето барање само ако се надоврзете\\n со класификација."
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr "И понатаму ќе бидете во можност да го видите додека сте најавени на страната. Ве молиме одговорете на оваа е-пошта доколку сакате да ја дискутирате оваа одлука во иднина."
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr "Регистрирани сте. <a href=\"#\" id=\"send-request\">Продолжете со испраќање на вашето барање</a>"
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr "Одговорот на вашето барање е со значително пречекорен рок - "
+
+msgid "You're not following anything."
+msgstr "Не следите ништо."
+
+msgid "You've now cleared your profile photo"
+msgstr "Ја избришавте сликата од профилот"
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr "Вашето <strong>име ќе биде јавно прикажано</strong>\\n (<a href=\"{{why_url}}\">зошто?</a>)\\n на оваа веб-страна и на интернет пребарувачите. Ако\\n размислувате за употреба на псевдоним, ве молиме\\n <a href=\"{{help_url}}\">прво прочитајте го ова</a>."
+
+msgid "Your annotations"
+msgstr "Вашите белешки"
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr "Вашите детали, вклучително и вашата адреса за е-пошта, не се дадени никому."
+
+msgid "Your e-mail:"
+msgstr "Вашата е-пошта:"
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr "Вашето надоврзување не е испратено бидејќи барањето е стопирано за да се спречи spam. Ве молиме <a href=\"{{url}}\">контактирајте не</a> доколку навистина сакате да се надоврзете."
+
+msgid "Your follow up message has been sent on its way."
+msgstr "Вашето надоврзување е испратено."
+
+msgid "Your internal review request has been sent on its way."
+msgstr "Вашето барање за интерна ревизија е пратено."
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr "Вашата порака е испратена. Ви благодариме што стапивте во контакт! Ќе ве известиме наскоро."
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr "Вашата порака за {{recipient_user_name}} е испратена"
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr "Вашата порака за {{recipient_user_name}} е испратена!"
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr "Вашата порака ќе се појави во <strong>интернет пребарувачите</strong>"
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr "Вашето име и белешка ќе се појават во <strong>интернет пребарувачите</strong>."
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+"Вашето име, барање и секој одговор ќе се појават кај <strong>интернет пребарувачите</strong>\n"
+" (<a href=\"{{url}}\">детали</a>)."
+
+msgid "Your name:"
+msgstr "Вашето име:"
+
+msgid "Your original message is attached."
+msgstr "Вашата оригинална порака е прикачена."
+
+msgid "Your password has been changed."
+msgstr "Вашата лозинка е променета."
+
+msgid "Your password:"
+msgstr "Вашата лозинка:"
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr "Вашата фотографија ќе биде јавно прикажана <strong>на интернет</strong>,\\n што и да направите на системот {{site_name}}."
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr "Вашето барање '{{request}}' на {{url}} беше прегледан од модераторите."
+
+msgid "Your request on {{site_name}} hidden"
+msgstr "Вашето барање на {{site_name}} е сокриено"
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr "Вашето барање беше наречено {{info_request}}. Со ажурирање на податокот за тоа дали сте добиле одговор, ни помагате да подобро го следиме однесувањето"
+
+msgid "Your request:"
+msgstr "Вашето барање:"
+
+msgid "Your response to an FOI request was not delivered"
+msgstr "Вашиот одговор на барањето не е доставен"
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr "Вашиот одговор ќе се <strong>појави на интернет</strong>, <a href=\"{{url}}\">прочитајте зошто</a> и одговорете на други прашања."
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr "Вашето мислење за што треба {{site_name}} <strong>администраторите</strong> да направат за барањето."
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] "Вашето {{count}} барање за слободен пристап до информации"
+msgstr[1] "Вашите {{count}} барања за слободен пристап до информации"
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] "Вашата {{count}} белешка"
+msgstr[1] "Вашите {{count}} белешки"
+
+msgid "Your {{site_name}} email alert"
+msgstr "Вашите предупредувања по е-пошта за {{site_name}}"
+
+msgid "Yours faithfully,"
+msgstr "Со почит,"
+
+msgid "Yours sincerely,"
+msgstr "Со почит,"
+
+msgid "Yours,"
+msgstr "Со почит,"
+
+msgid "[FOI #{{request}} email]"
+msgstr "[FOI #{{request}} е-пошта]"
+
+msgid "[{{public_body}} request email]"
+msgstr "[{{public_body}} е-пошта за барање]"
+
+msgid "[{{site_name}} contact email]"
+msgstr "[{{site_name}} контакт е-пошта]"
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr "\\n\\n[ Белешка од {{site_name}}: Текстот погоре беше лошо енкодиран, па се отстранија сите чудни карактери. ]"
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr "резиме во еден ред за информацијата која ја барате, \\n\t\t\tна пр."
+
+msgid "admin"
+msgstr "администратор"
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr "alaveteli_foi:Софтверот кој се користи за {{site_name}}"
+
+msgid "all requests"
+msgstr "сите барања"
+
+msgid "also called {{public_body_short_name}}"
+msgstr "исто така познат како {{public_body_short_name}}"
+
+msgid "an anonymous user"
+msgstr "анонимен корисник"
+
+msgid "and"
+msgstr "и"
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr "и ажурирајте го статусот соодветно. Можеби <strong>вие</strong> сакате да помогнете правејќи го тоа?"
+
+msgid "and update the status."
+msgstr "и ажурирање на статусот."
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr "и ние ќе предложиме <strong>што да се прави следно</strong>"
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr "сите <a href=\"/list\">нови барања</a>"
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr "сите <a href=\"/list/successful\">успешни барања</a>"
+
+msgid "anything"
+msgstr "било што"
+
+msgid "are long overdue."
+msgstr "значително доцнат."
+
+msgid "at"
+msgstr "на"
+
+msgid "authorities"
+msgstr "иматели"
+
+msgid "awaiting a response"
+msgstr "се чека одговор"
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr "кое почнува со буквата ‘{{first_letter}}’"
+
+msgid "between two dates"
+msgstr "помеѓу два датуми"
+
+msgid "but followupable"
+msgstr "но може да постои реакција"
+
+msgid "by"
+msgstr "од"
+
+msgid "by <strong>{{date}}</strong>"
+msgstr "до <strong>{{date}}</strong>"
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr "од страна на {{public_body_name}} за корисникот {{info_request_user}} на ден {{date}}."
+
+msgid "by {{user_link_absolute}}"
+msgstr "од {{user_link_absolute}}"
+
+msgid "comments"
+msgstr "коментари"
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+"со Вашата поштенска адреса и побарајте од нив да одоговорат на ова барање.\n"
+" Можете да ги контактирате и по телефон."
+
+msgid "details"
+msgstr "детали"
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr "display_status моментално работи само за примени и спратени пораки"
+
+msgid "during term time"
+msgstr "за време на терминот"
+
+msgid "edit text about you"
+msgstr "изменете го текстот за вас"
+
+msgid "even during holidays"
+msgstr "и за време на празници"
+
+msgid "everything"
+msgstr "се"
+
+msgid "external"
+msgstr "надворешен"
+
+msgid "has reported an"
+msgstr "пријави"
+
+msgid "have delayed."
+msgstr "е одложен."
+
+msgid "hide quoted sections"
+msgstr "сокриј ги наведените секции"
+
+msgid "in term time"
+msgstr "во текот на школската година"
+
+msgid "in the category ‘{{category_name}}’"
+msgstr "во категоријата ‘{{category_name}}’"
+
+msgid "internal error"
+msgstr "внатрешна грешка"
+
+msgid "internal reviews"
+msgstr "внатрешна ревизија"
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr "<strong>чека на Ваше објаснување</strong>."
+
+msgid "just to see how it works"
+msgstr "само да видите како работи"
+
+msgid "left an annotation"
+msgstr "остави белешка"
+
+msgid "made."
+msgstr "направен."
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr "одговара на клучниот збор ‘{{tag_name}}’"
+
+msgid "messages from authorities"
+msgstr "пораки од имателите"
+
+msgid "messages from users"
+msgstr "пораки од корисниците"
+
+msgid "move..."
+msgstr "помести..."
+
+msgid "no later than"
+msgstr "најдоцна до"
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr "веќе не постои. Ако сакате да го направите тоа\\n од страницата со барања, обидете се да одговорите на конкретна порака, наместо да пратите\\n реакција. Ако е потребно да пратите реакција и ја знете адресата на е-пошта\\n за да стигне до правото место, Ве молиме <a href=\"{{url}}\">испратете ни ја и нам</a>."
+
+msgid "normally"
+msgstr "вообичаено"
+
+msgid "not requestable due to: {{reason}}"
+msgstr "барањето не е возможно бидејќи: {{reason}}"
+
+msgid "please sign in as "
+msgstr "Ве молиме најавете се како "
+
+msgid "requesting an internal review"
+msgstr "барање на внатрешна ревизија"
+
+msgid "requests"
+msgstr "барања"
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr "барања кои се {{list_of_statuses}}"
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr "одговор зошто бара реакција од администраторот. Погледнете и одговорете на оваа \\nза да ги известите што ќе направите за ова прашање."
+
+msgid "send a follow up message"
+msgstr "испратете реакција"
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "испратено на {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr "има вредност <strong>blank</strong> (празен стринг) ако не може да се најде адреса; овие е-пораки се <strong>јавни</strong> бидејчи секој може да ги види ако внесе CAPTCHA"
+
+msgid "show quoted sections"
+msgstr "прикажи ги наведените секции"
+
+msgid "sign in"
+msgstr "најавете се"
+
+msgid "simple_date_format"
+msgstr "simple_date_format"
+
+msgid "successful"
+msgstr "успешно"
+
+msgid "successful requests"
+msgstr "успешни барања"
+
+msgid "that you made to"
+msgstr "кои ги имате поднесено до"
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr "главниот контакт за барања за слободен пристап до информации за {{public_body}}"
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr "главниот контакт за барања за слободен пристап до информации од јавен карактер за {{public_body}}"
+
+msgid "the requester"
+msgstr "барателот"
+
+msgid "the {{site_name}} team"
+msgstr "тимот на {{site_name}}"
+
+msgid "to read"
+msgstr "за читање"
+
+msgid "to send a follow up message."
+msgstr "да испратите реакција."
+
+msgid "to {{public_body}}"
+msgstr "за {{public_body}}"
+
+msgid "unknown reason "
+msgstr "непозната причина "
+
+msgid "unknown status "
+msgstr "непознат статус "
+
+msgid "unresolved requests"
+msgstr "нерешени барања"
+
+msgid "unsubscribe"
+msgstr "откажете претплата"
+
+msgid "unsubscribe all"
+msgstr "откажете претплата од сите"
+
+msgid "unsuccessful"
+msgstr "неуспешно"
+
+msgid "unsuccessful requests"
+msgstr "неуспешни барања"
+
+msgid "useful information."
+msgstr "корисна информација."
+
+msgid "users"
+msgstr "корисници"
+
+msgid "what's that?"
+msgstr "што е тоа?"
+
+msgid "{{count}} FOI requests found"
+msgstr "пронајдени се {{count}} барања за слободен пристап до информации од јавен карактерznačaja"
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] "{{count}} барање за слободен пристап до информации до {{public_body_name}}"
+msgstr[1] "{{count}} барања за слободен пристап до информации до {{public_body_name}}"
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] "{{count}} корисник го следи овој имател"
+msgstr[1] "{{count}} корисници го следат овој имател"
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] "{{count}} барање"
+msgstr[1] "{{count}} барања"
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] "{{count}} барање е поднесено."
+msgstr[1] "{{count}} барања се поднесени."
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr "{{existing_request_user}} веќе\\n го има поднесено истото барање на ден {{date}}. Можете да го погледнете <a href=\"{{existing_request}}\">постоечкото барање</a>,\\n или да ги промените деталите и да направите ново, слично барање."
+
+msgid "{{info_request_user_name}} only:"
+msgstr "само за {{info_request_user_name}}:"
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr "Барања кои се повикуваат на {{law_used_full}} - {{title}}"
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr "Барања за {{law_used}} за {{public_body}}"
+
+msgid "{{length_of_time}} ago"
+msgstr "пред {{length_of_time}}"
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr "{{list_of_things}} кои одговараат на '{{search_query}}'"
+
+msgid "{{number_of_comments}} comments"
+msgstr "{{number_of_comments}} коментари"
+
+msgid "{{public_body_link}} answered a request about"
+msgstr "{{public_body_link}} даде одговор за"
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr "{{public_body_link}} прими барање за"
+
+msgid "{{public_body_name}} only:"
+msgstr "само {{public_body_name}}:"
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr "{{public_body}} побара да го дообјасните вашето барање за {{law_used}}."
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr "{{public_body}} испрати порака до {{user_name}}"
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr "{{reason}}, Ве молиме најавете се или креирајте нов профил."
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr "{{search_results}} кои одговараат на '{{query}}'"
+
+msgid "{{site_name}} blog and tweets"
+msgstr "блогови и твитови од {{site_name}} "
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr "{{site_name}} овозможува испраќање на барања кон {{number_of_authorities}} иматели, меѓу кои:"
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr "{{site_name}} ги испраќа новите барања за овој имател на оваа адреса на е-пошта <strong>{{request_email}}</strong>."
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr "Корисниците на {{site_name}} имаат поднесено {{number_of_requests}} барања, меѓу кои:"
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr "{{thing_changed}} се променети од <code>{{from_value}}</code> на <code>{{to_value}}</code>"
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr "{{title}} - барање за слободен пристап до информации од јавен карактер за {{public_body}}"
+
+msgid "{{user_name}} (Account suspended)"
+msgstr "{{user_name}} (профилот е блокиран)"
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr "{{user_name}} - барања за слободен пристап до информации од јавен карактер"
+
+msgid "{{user_name}} - user profile"
+msgstr "{{user_name}} - кориснички профил"
+
+msgid "{{user_name}} added an annotation"
+msgstr "{{user_name}} додаде белешка"
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+"{{user_name}} додаде белешка за вашето барање за {{law_used_short}}.\n"
+"Следете го овој линк за да го видите коментарот."
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr "{{user_name}} го искористи{{site_name}} за да ви ја испрати пораката подолу."
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr "{{user_name}} испрати реакција до {{public_body}}"
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr "{{user_name}} испрати барање до {{public_body}}"
+
+msgid "{{username}} left an annotation:"
+msgstr "{{username}} остави белешка:"
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr "{{user}} ({{user_admin_link}}) го поднесе ова барање за {{law_used_full}} (<a href=\"{{request_admin_url}}\">admin</a>) за имателот '{{public_body_link}}' (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr "{{user}} го поднесе ова барање за {{law_used_full}}"
diff --git a/locale/model_attributes.rb b/locale/model_attributes.rb
index 9f7da5e62..fc7bfd7d0 100644
--- a/locale/model_attributes.rb
+++ b/locale/model_attributes.rb
@@ -93,6 +93,7 @@ _('PublicBody|Info requests count')
_('PublicBody|Info requests not held count')
_('PublicBody|Info requests overdue count')
_('PublicBody|Info requests successful count')
+_('PublicBody|Info requests visible classified count')
_('PublicBody|Last edit comment')
_('PublicBody|Last edit editor')
_('PublicBody|Name')
@@ -111,10 +112,8 @@ _('TrackThing|Track query')
_('TrackThing|Track type')
_('User')
_('User|About me')
-_('User|Address')
_('User|Admin level')
_('User|Ban text')
-_('User|Dob')
_('User|Email')
_('User|Email bounce message')
_('User|Email bounced at')
diff --git a/locale/nb_NO/app.po b/locale/nb_NO/app.po
index 570290c95..e30b16d7b 100644
--- a/locale/nb_NO/app.po
+++ b/locale/nb_NO/app.po
@@ -3,15 +3,17 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# gorm <gormer@gmail.com>, 2013
+# gorm <gormer@gmail.com>, 2013
# pere <pere-transifex@hungry.com>, 2013
# pere <pere-transifex@hungry.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/alaveteli/language/nb_NO/)\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
@@ -67,7 +69,7 @@ msgid " Offer better ways of <strong>wording the request</strong> to get the inf
msgstr "Tilby bedre måter å <strong>ordlegge forespørselen</strong> for å få informasjonen."
msgid " Say how you've <strong>used the information</strong>, with links if possible."
-msgstr ""
+msgstr "Fortell hvordan du <strong>brukte informasjonen</strong>, gjerne med lenker hvis det er mulig."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
msgstr "Foreslå <strong>hvor ellers</strong> innsenderen kan finne informasjonen."
@@ -112,7 +114,7 @@ msgid "*unknown*"
msgstr "*ukjent*"
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
-msgstr ""
+msgstr ",\\n\\n\\n\\nMed vennlig hilsen,\\n\\n{{user_name}}"
msgid "- or -"
msgstr "- eller -"
@@ -136,7 +138,7 @@ msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and mor
msgstr ""
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
-msgstr ""
+msgstr "<p>Alt er ferdig! Tusen takk for hjelpen.</p><p>Det er <a href=\"{{helpus_url}}\">flere ting du kan gjøre</a> for å hjelpe {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
msgstr ""
@@ -186,8 +188,8 @@ msgstr "<p>Din henvendelse inneholder et <strong>postnummer</strong>. Med mindr
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
msgstr ""
"<p>Din {{law_used_full}}-forespørsel har blitt <strong>sendt avgårde</strong>!</p>\\n\n"
-"<p><strong>Vi vil sende deg en epost</strong> når det kommer et svar, eller etter {{late_number_of_days}} arbeidsdager, hvis øvrigheten ikke har svart innen da.</p>\\n\n"
-"<p>Hvis du skriver om denne forespørselen (for eksempel i et forum eller en blogg), så er det fint om du lenker til denne siden og eller til en kommentar under som forteller folk om det du har skrevet."
+"<p><strong>Vi vil kontakte deg med e-post</strong> når det kommer et svar, eller etter {{late_number_of_days}} arbeidsdager, om myndigheten ikke har svart innen da.</p>\\n\n"
+"<p>Hvis du skriver om denne forespørselen (for eksempel i et forum eller en blogg), så er det fint om du lenker til denne siden, og legger til en kommentar under som forteller folk om det du har skrevet."
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
msgstr ""
@@ -813,15 +815,24 @@ msgstr ""
msgid "Follow this request"
msgstr "Følg denne henvendelsen"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Følg opp"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1020,7 +1031,7 @@ msgid "If you are {{user_link}}, please"
msgstr ""
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr "Hvis du syntes denne henvendelsen ikke er passende, kan du gjøre en admininstrator oppmerksom på den ved å rapportere henvendelsen"
+msgstr "Hvis du syntes denne henvendelsen er upassende, kan du rapportere den slik at en admininstrator vil sjekke"
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
msgstr ""
@@ -1035,7 +1046,7 @@ msgid "If you got the email <strong>more than six months ago</strong>, then this
msgstr ""
msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
-msgstr "Hvis du ikke allerede har gjort det, vær så snill å skriv en melding under som forteller øvrigheten at du har trukket tilbake din forespørsel. Ellers vil de ikke vite at den er trukket tilbake."
+msgstr "Hvis du ikke allerede har gjort det, vær så snill å skriv en melding under som forteller myndigheten at du har trukket tilbake din forespørsel. Ellers vil de ikke vite at den er trukket tilbake."
msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
msgstr ""
@@ -1230,7 +1241,7 @@ msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
msgid "Log into the admin interface"
-msgstr ""
+msgstr "Logg inn i administratorgrensesnittet"
msgid "Long overdue."
msgstr ""
@@ -1275,7 +1286,7 @@ msgid "Make your own request"
msgstr "Lag din egen forespørsel"
msgid "Many requests"
-msgstr ""
+msgstr "Mange forespørsler"
msgid "Message"
msgstr ""
@@ -1494,7 +1505,7 @@ msgid "Paste this link into emails, tweets, and anywhere else:"
msgstr "Lim denne lenken inn i eposter, tweets og andre steder:"
msgid "People"
-msgstr ""
+msgstr "Folk"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
@@ -1796,6 +1807,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2725,18 +2739,12 @@ msgstr ""
msgid "User|About me"
msgstr "Bruker|Om meg"
-msgid "User|Address"
-msgstr "Bruker|Adresse"
-
msgid "User|Admin level"
msgstr "Bruker|Admin nivå"
msgid "User|Ban text"
msgstr "Bruker|Ban tekst"
-msgid "User|Dob"
-msgstr "Bruker|Dob"
-
msgid "User|Email"
msgstr "Bruker|E-post"
@@ -2870,7 +2878,7 @@ msgid "What information has been requested?"
msgstr "Hva slags informasjon er forespurt?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
-msgstr ""
+msgstr "Når du kommer dit, vær så snill å oppdatere statusen til å fortelle om svaret inneholdt noe nyttig informasjon."
msgid "When you receive the paper response, please help\\n others find out what it says:"
msgstr ""
@@ -3429,9 +3437,6 @@ msgstr "Bare {{info_request_user_name}} (henvender):"
msgid "{{law_used_full}} request - {{title}}"
msgstr "{{law_used_full}} henvendelse - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "{{law_used_full}} henvendelse GQ - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} henvendelse til {{public_body}}"
@@ -3475,7 +3480,7 @@ msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> fo
msgstr "{site_name}} sender nye henvendelser til <strong>{{request_email}}</strong> for denne myndigheten."
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
-msgstr "{{site_name}} brukere har skrevet {{number_of_requests}} henvendelser, inkludert:"
+msgstr "{{site_name}}-brukere har skrevet {{number_of_requests}} henvendelser, inkludert:"
msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
msgstr "{{thing_changed}} ble forandret fra <code>{{from_value}}</code> til <code>{{to_value}}</code>"
diff --git a/locale/nl/app.po b/locale/nl/app.po
index 3b8f8d10a..4f165b56a 100644
--- a/locale/nl/app.po
+++ b/locale/nl/app.po
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/alaveteli/language/nl/)\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
@@ -807,15 +807,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1790,6 +1799,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2719,18 +2731,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3420,9 +3426,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/pl/app.po b/locale/pl/app.po
index 9efa0e398..8c4bfc90c 100644
--- a/locale/pl/app.po
+++ b/locale/pl/app.po
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/alaveteli/language/pl/)\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
@@ -808,15 +808,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1792,6 +1801,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2725,18 +2737,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3432,9 +3438,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/pt_BR/app.po b/locale/pt_BR/app.po
index 6545b7edb..21e124083 100644
--- a/locale/pt_BR/app.po
+++ b/locale/pt_BR/app.po
@@ -41,10 +41,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/alaveteli/language/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
@@ -861,15 +861,24 @@ msgstr "Seguir esta pessoa"
msgid "Follow this request"
msgstr "Acompanhar este pedido"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Acompanhar"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Mensagem de acompanhamento enviada pelo solicitante"
msgid "Follow up messages to existing requests are sent to "
msgstr "Mensagens de acompanhamento para solicitações existentes são enviadas para"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Acompanhamento e novas respostas ao pedido foram interrompidos para evitar spam. Por favor, <a href=\"{{url}}\">nos contate</a> se você for {{user_link}} e precisar enviar um acompanhamento."
@@ -1853,6 +1862,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody | Última edição"
@@ -2792,18 +2804,12 @@ msgstr "UserInfoRequestSentAlert | Tipo de alerta"
msgid "User|About me"
msgstr "Usuário | Sobre mim"
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr "Usuário | Nível de administrador"
msgid "User|Ban text"
msgstr "Usuário | Banir texto"
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "Usuário | E-mail"
@@ -3503,9 +3509,6 @@ msgstr "{{info_request_user_name}} apenas:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "Pedido de {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "Pedidos de Informação a(o) {{public_body}}"
diff --git a/locale/pt_PT/app.po b/locale/pt_PT/app.po
new file mode 100644
index 000000000..0abd50ab6
--- /dev/null
+++ b/locale/pt_PT/app.po
@@ -0,0 +1,3514 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# helenaromao <helenaromao@gmail.com>, 2013
+# helenaromao <helenaromao@gmail.com>, 2013
+# luispaisbernardo <luispaisbernardo@gmail.com>, 2013
+# luispaisbernardo <luispaisbernardo@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: luispaisbernardo <luispaisbernardo@gmail.com>\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/alaveteli/language/pt_PT/)\n"
+"Language: pt_PT\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"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr "(você)"
+
+msgid " - view and make Freedom of Information requests"
+msgstr "- veja e faça pedidos de acesso à informação"
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr ""
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr ""
+
+msgid " You are already being emailed updates about the request."
+msgstr "Já está a receber actualizações acerca deste email."
+
+msgid " You will also be emailed updates about the request."
+msgstr "Ser-lhe-ão enviadas actualizações acerca deste pedido via email."
+
+msgid " made by "
+msgstr "criado por"
+
+msgid " or "
+msgstr "ou"
+
+msgid " when you send this message."
+msgstr "quando enviar esta mensagem."
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr "'{{link_to_authority}}', uma autoridade pública"
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr "- ou -"
+
+msgid "1. Select an authority"
+msgstr "1. Seleccione uma entidade"
+
+msgid "2. Ask for Information"
+msgstr "2. Peça informação"
+
+msgid "3. Now check your request"
+msgstr "3. Agora, verifique o seu pedido"
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr ""
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr ""
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr ""
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr ""
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr ""
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr ""
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr ""
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr ""
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr "uma entidade pública"
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr ""
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr ""
+
+msgid "A vexatious request"
+msgstr ""
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr "Adicione uma nota"
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr "Pesquisa avançada"
+
+msgid "Advanced search tips"
+msgstr "Dicas sobre pesquisa avançada"
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr "Toda a informação pedida foi recebida"
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr "Modifique a sua subscrição"
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr "Um pedido de acesso a Regulamentos de Informação Ambiental"
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr "Nota adicionada ao pedido"
+
+msgid "Annotations"
+msgstr "Notas"
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr "As notas servem para que qualquer pessoa, incluindo você, possa apoiar o requerente com o seu pedido. Por exemplo:"
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr "Utilizador anónimo"
+
+msgid "Anyone:"
+msgstr "Qualquer pessoa:"
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr ""
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr "Anexo (opcional)"
+
+msgid "Attachment:"
+msgstr "Anexo"
+
+msgid "Awaiting classification."
+msgstr "Classificação pendente"
+
+msgid "Awaiting internal review."
+msgstr "Revisão interna pendente"
+
+msgid "Awaiting response."
+msgstr "Resposta pendente"
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr ""
+
+msgid "Browse all authorities..."
+msgstr "Pesquise todas as autoridades..."
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr "Não encontra o que pretende?"
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr "Cancelar, regresse à sua página de perfil"
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr ""
+
+msgid "Classify an FOI response from "
+msgstr ""
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr "Fechar"
+
+msgid "Comment"
+msgstr "Comentário"
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr ""
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr ""
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr "Data:"
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr ""
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr "Terminado."
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr ""
+
+msgid "FOI email address for {{public_body}}"
+msgstr ""
+
+msgid "FOI request – {{title}}"
+msgstr ""
+
+msgid "FOI requests"
+msgstr ""
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr ""
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr ""
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr ""
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr ""
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr ""
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr ""
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Freedom of Information"
+msgstr ""
+
+msgid "Freedom of Information Act"
+msgstr ""
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to"
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr ""
+
+msgid "Freedom of Information requests made"
+msgstr ""
+
+msgid "Freedom of Information requests made by this person"
+msgstr ""
+
+msgid "Freedom of Information requests made by you"
+msgstr ""
+
+msgid "Freedom of Information requests made using this site"
+msgstr ""
+
+msgid "Freedom of information requests to"
+msgstr ""
+
+msgid "From"
+msgstr "De"
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr ""
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr "Ajuda"
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr ""
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr ""
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr ""
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr ""
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr ""
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr ""
+
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr ""
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr ""
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr ""
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr "Mensagem"
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr ""
+
+msgid "More requests..."
+msgstr "Mais pedidos…"
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr ""
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr ""
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr ""
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr ""
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr ""
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr ""
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr ""
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr ""
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr "Por favor"
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr "Por favor, escolha uma razão"
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr ""
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr "Introduza o seu nome"
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr "Introduza o seu novo e-mail"
+
+msgid "Please enter your old email address"
+msgstr "Introduza o seu antigo e-mail"
+
+msgid "Please enter your password"
+msgstr "Introduza a sua palavra-chave"
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr ""
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr ""
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr ""
+
+msgid "Public authorities - {{description}}"
+msgstr ""
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Public authority – {{name}}"
+msgstr ""
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr ""
+
+msgid "Public bodies with most overdue requests"
+msgstr ""
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr ""
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr ""
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr ""
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr "Guardar"
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr ""
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr ""
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr ""
+
+msgid "Select the authority to write to"
+msgstr ""
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr "Pesquisa simples"
+
+msgid "Some notes have been added to your FOI request - "
+msgstr ""
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr ""
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr ""
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr "Assunto"
+
+msgid "Subject:"
+msgstr "Assunto:"
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr ""
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr ""
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr ""
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr ""
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr ""
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr ""
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr ""
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr ""
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr ""
+
+msgid "The public authority would like part of the request explained"
+msgstr ""
+
+msgid "The public authority would like to / has responded by post"
+msgstr ""
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr ""
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr ""
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr ""
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr ""
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr ""
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr ""
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr ""
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr ""
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr ""
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr ""
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr ""
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr ""
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr ""
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr ""
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr ""
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr ""
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr ""
+
+msgid "To update the status of this FOI request"
+msgstr ""
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr ""
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr "Para:"
+
+msgid "Today"
+msgstr "Hoje"
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr "Desconhecido"
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr ""
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr ""
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr ""
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr ""
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr ""
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr ""
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr ""
+
+msgid "Waiting for the public authority to reply"
+msgstr ""
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr ""
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr ""
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr ""
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr ""
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr ""
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr ""
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr "E-mail:"
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr "Nome:"
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr "A sua palavra-chave foi alterada."
+
+msgid "Your password:"
+msgstr "Palavra-chave:"
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr "Pedido:"
+
+msgid "Your response to an FOI request was not delivered"
+msgstr ""
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr "Com os melhores cumprimentos,"
+
+msgid "Yours sincerely,"
+msgstr "Com os melhores cumprimentos,"
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr ""
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr "utilizador anónimo"
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr ""
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr "detalhes"
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr ""
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr ""
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr ""
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr ""
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr ""
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr ""
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr ""
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/locale/ro_RO/app.po b/locale/ro_RO/app.po
index a75e1c8ca..892058b0e 100644
--- a/locale/ro_RO/app.po
+++ b/locale/ro_RO/app.po
@@ -20,10 +20,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/alaveteli/language/ro_RO/)\n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
@@ -820,15 +820,24 @@ msgstr "Urmăriţi această persoană"
msgid "Follow this request"
msgstr "Urmăriţi această solicitare"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Urmăriţi"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Urmăriţi mesajul trimis de solicitant"
msgid "Follow up messages to existing requests are sent to "
msgstr "Urmăriţi mesajele trimise de solicitant"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Urmăririle si noile răspunsuri la această cerere au fost stopate pentru a preveni spam-ul. Vă rugăm <a href=\"{{url}}\"> să ne contactaţi</a> dacă sunteţi {{user_link}} şi aveţi nevoie să trimiteţi follw up."
@@ -1806,6 +1815,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "Instituţie publică| Ultimul comentariu editat"
@@ -2739,18 +2751,12 @@ msgstr "UserInfoRequestSentAlert|Tip Alerta"
msgid "User|About me"
msgstr "Utilizator|Despre mine"
-msgid "User|Address"
-msgstr "Utilizator|Adresă"
-
msgid "User|Admin level"
msgstr "Utilizator|Nivel administrator"
msgid "User|Ban text"
msgstr "Utilizator|Text interzis"
-msgid "User|Dob"
-msgstr "Utilizator|Dob"
-
msgid "User|Email"
msgstr "Utilizator|Email"
@@ -3446,9 +3452,6 @@ msgstr "numai {{info_request_user_name}} :"
msgid "{{law_used_full}} request - {{title}}"
msgstr "cerere {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "cerere GQ {{law_used_full}} - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "{{law_used}} cereri către {{public_body}}"
diff --git a/locale/sl/app.po b/locale/sl/app.po
index 5401d9e55..1ab4d822f 100644
--- a/locale/sl/app.po
+++ b/locale/sl/app.po
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/alaveteli/language/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
@@ -808,15 +808,24 @@ msgstr "Spremljaj to osebo"
msgid "Follow this request"
msgstr "Sledite temu zahtevku"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Odziv"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Odziv, poslan s strani prosilca"
msgid "Follow up messages to existing requests are sent to "
msgstr "Odzivi na obstoječe zahtevke so poslani k"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Odzivi in novi odgovori na ta zahtevek so bili onemogočeni, da se omejijo neželena sporočila. Prosimo, <a href=\"{{url}}\">stopite v kontakt</a>, če ste uporabnik {{user_link}} in želite poslati odziv."
@@ -1793,6 +1802,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "JavniOrgan|Zadnji urejani komentar"
@@ -2730,18 +2742,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "User|About me"
-msgid "User|Address"
-msgstr "User|Naslov"
-
msgid "User|Admin level"
msgstr "User|Admin level"
msgid "User|Ban text"
msgstr "User|Ban text"
-msgid "User|Dob"
-msgstr "User|Rojstni dan"
-
msgid "User|Email"
msgstr "User|Email"
@@ -3443,9 +3449,6 @@ msgstr "{{info_request_user_name}} le:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "zahtevek za {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr "zahtevek {{law_used_full}} GQ? - {{title}}"
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr "zahtevki {{law_used}} za {{public_body}}"
diff --git a/locale/sq/app.po b/locale/sq/app.po
index 71cad4874..11cc8148e 100644
--- a/locale/sq/app.po
+++ b/locale/sq/app.po
@@ -16,10 +16,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/alaveteli/language/sq/)\n"
"Language: sq\n"
"MIME-Version: 1.0\n"
@@ -873,15 +873,24 @@ msgstr "Ndiq këtë person"
msgid "Follow this request"
msgstr "Përcjell këtë kërkesë"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Përcjell"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Mesazhi vazhdues është dërguar nga kërkuesi"
msgid "Follow up messages to existing requests are sent to "
msgstr "Mesazhet vazhduese të kërkesës ekzistuese dërgohen te "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Mesazhet vazhduese dhe përgjigjet e reja në këtë kërkesë janë stopuar për të parandaluar spam emailat. Të lutem <a href=\"{{url}}\"> na kontakto</a> nëse ti je {{user_link}} dhe ke nevojë të dërgosh mesazh vazhdues."
@@ -1894,6 +1903,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr "PublicBody | Editimi i fundit i komentit"
@@ -2850,18 +2862,12 @@ msgstr "UserInfoRequestSentAlert|Alert type"
msgid "User|About me"
msgstr "Përdoruesi|Rreth meje"
-msgid "User|Address"
-msgstr "Përdoruesi|Adresa"
-
msgid "User|Admin level"
msgstr "Përdoruesi | Niveli i Administrimit"
msgid "User|Ban text"
msgstr "Përdoruesi|Tekst i ndaluar"
-msgid "User|Dob"
-msgstr "Përdoruesi|Datëlindja"
-
msgid "User|Email"
msgstr "Përdoruesi |Email"
@@ -3593,9 +3599,6 @@ msgstr "Vetëm për {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "Kërkesë për {{law_used_full}} - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/sr@latin/app.po b/locale/sr@latin/app.po
index 4560bc482..fca017238 100644
--- a/locale/sr@latin/app.po
+++ b/locale/sr@latin/app.po
@@ -3,18 +3,21 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Goran Rakic <grakic@devbase.net>, 2013
+# vucko <vucko@acm.org>, 2013
# krledmno1 <krledmno1@gmail.com>, 2013
# krledmno1 <krledmno1@gmail.com>, 2013
# Valon <vbrestovci@gmail.com>, 2011-2012
# Valon <vbrestovci@gmail.com>, 2012
# Valon <vbrestovci@gmail.com>, 2011
+# vucko <vucko@acm.org>, 2013
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/alaveteli/language/sr@latin/)\n"
"Language: sr@latin\n"
"MIME-Version: 1.0\n"
@@ -23,72 +26,68 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
-msgstr "<a href=\"%s\">Da li nam nedostaje javna ustanova?</a>"
+msgstr "Ovo će biti prikazano na Vašem profilu na sistem {{site_name}}, da drugima olakša\\n da prate šta radite."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
-msgstr ""
+msgstr " (<strong>bez zanovetajuće</strong> politike, pogledajte naša <a href=\"{{url}}\">pravila moderacije</a>)"
msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
-msgstr " (<strong>budite strpljivi</strong>, posebno za velike datoteke, moglo bi potrajati!)"
+msgstr " (<strong>budite strpljivi</strong>, potrajaće posebno za velike datoteke!)"
msgid " (you)"
msgstr " (Vi)"
msgid " - view and make Freedom of Information requests"
-msgstr " - pregledaj i napravi Zahteve o slobodnom pristupu informacijama "
+msgstr " - pregledaj i podnesi Zahteve za slobodan pristup informacijama od javnog značaja"
msgid " - wall"
-msgstr ""
+msgstr "- zid"
msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
msgstr ""
-" <strong>Note:</strong>\n"
-" Poslati ćemo vam e-mail. Pratite instrukcije u njemu da biste promijenili\n"
-" Vaš password."
+" <strong>Napomena:</strong>\n"
+" Poslaćemo Vam e-mail. Pratite instrukcije u njemu da biste promenili Vašu lozinku."
msgid " <strong>Privacy note:</strong> Your email address will be given to"
-msgstr " <strong>Privacy note:</strong> Vaša e-mail adresa će biti proslijeđena"
+msgstr " <strong>Napomena o privatnosti:</strong> Biće prosleđena vaša adresa e-pošte"
msgid " <strong>Summarise</strong> the content of any information returned. "
-msgstr " <strong>Sažimati</strong> sadržaj svake vraćene informacije. "
+msgstr " <strong>Sažmi</strong> sadržaj svake vraćene informacije. "
msgid " Advise on how to <strong>best clarify</strong> the request."
-msgstr " Savetuj kako<strong>najbolje objasniti</strong> zahjev."
+msgstr " Savet kako<strong>najbolje objasniti</strong> zahtev."
msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
-msgstr " Ideje za <strong>zahteve drugih dokumenata</strong> koje ustanova može posjedovati. "
+msgstr "Predlozi <strong>drugih dokumenata</strong> koji mogu da se zahtevaju, a koje ista ustanova verovatno poseduje."
msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
msgstr ""
" Ako znate koju adresu treba koristiti, molimo Vas <a href=\"{{url}}\">pošaljite je nama</a>.\n"
-" Moguće je da možete naći adresu na njihovoj web stranici, ili putem telefona."
+" Možda možete naći adresu na njihovoj web stranici, ili putem telefona."
msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
-msgstr ""
-" Uključite relevantne linkove, poput stranice kampanje, Vašeg bloga ili \n"
-" twitter account-a. Moći će se kliknuti na njih. \n"
-" npr."
+msgstr "Uključite relevantne linkove, poput linka na stranicu kampanje, Vaš blog ili\\n twitter profil. Linkovi će biti klikabilni. \\n npr."
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
-msgstr ""
+msgstr " Link do tražene informacije, ako je <strong>već raspoloživa</strong> na internetu. "
msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
-msgstr ""
+msgstr "Ponudi bolje načine za <strong>formulisanje zahteva</strong> za dobijanje informacije. "
msgid " Say how you've <strong>used the information</strong>, with links if possible."
msgstr " Recite nam kako ste<strong>iskoristili informaciju</strong>, sa linkovima ako je moguće."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
-msgstr "Predložite <strong>gde sve</strong> podnosilac zahteva može pronaći informacije."
+msgstr "Predložite <strong>gde još</strong> podnosilac zahteva može pronaći ove informacije."
msgid " What are you investigating using Freedom of Information? "
-msgstr " Šta istražujete koristeći Zakon o slobodnom pristupu informacijama ? "
+msgstr " Šta istražujete koristeći Zakon o slobodnom pristupu informacijama od javnog značaja? "
msgid " You are already being emailed updates about the request."
-msgstr " Ažuriranja zahteva već su Vam poslana putem e-maila."
+msgstr "Već ste se prijavili da primate novosti u vezi zahteva."
msgid " You will also be emailed updates about the request."
-msgstr " Ažuriranja zahteva će Vam takođe biti poslana putem e-maila."
+msgstr "Novosti u vezi zahteva će Vam takođe biti poslate i putem e-pošte."
msgid " made by "
msgstr " načinjeno od strane "
@@ -100,16 +99,16 @@ msgid " when you send this message."
msgstr " kada pošaljete ovu poruku."
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
-msgstr ""
+msgstr "\"Dobrodošli! Imamo <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">važnu poruku</a> za posetioce koji pristupaju iz zemlje koja nije {{country_name}}\""
msgid "'Crime statistics by ward level for Wales'"
-msgstr "'Statistika krivičnih dela na opštinskom nivou'"
+msgstr "„Statistika krivičnih dela po mesnim zajednicama u Beogradu“"
msgid "'Pollution levels over time for the River Tyne'"
-msgstr "'Nivo zagađenja kroz period vremena za reku Tyne'"
+msgstr "„Nivo zagađenja u Južnoj Moravi tokom vremena“"
msgid "'{{link_to_authority}}', a public authority"
-msgstr "'{{link_to_authority}}', javna ustanova"
+msgstr "'{{link_to_authority}}', organ javne vlasti"
msgid "'{{link_to_request}}', a request"
msgstr "'{{link_to_request}}', zahtev"
@@ -118,215 +117,197 @@ msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', osoba"
msgid "*unknown*"
-msgstr ""
+msgstr "*nepoznat*"
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
-msgstr ""
-",\n"
-"\n"
-"\n"
-"\n"
-"S poštovanjem,\n"
-"\n"
-"{{user_name}}"
+msgstr ",\\n\\n\\n\\nS poštovanjem,\\n\\n{{user_name}}"
msgid "- or -"
msgstr "- ili -"
msgid "1. Select an authority"
-msgstr "1. Odaberite ustanovu"
+msgstr "1. Odaberite organ javne vlasti"
msgid "2. Ask for Information"
msgstr "2. Tražite informacije"
msgid "3. Now check your request"
-msgstr "3. Sada provjerite Vaš zahtev"
+msgstr "3. Sada proverite Vaš zahtev"
msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
-msgstr "<a href=\"{{browse_url}}\">Pretraži sve</a> ili <a href=\"{{add_url}}\"> zamolite nas da dodamo </a>."
+msgstr "<a href=\"{{browse_url}}\">Listajte sve</a> ili <a href=\"{{add_url}}\"> nas zamolite da dodamo jedan</a>."
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
msgstr "<a href=\"{{url}}\">Dodaj napomenu</a> (da bi se pomoglo podnosiocu zahteva ili drugima)"
msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
-msgstr "<a href=\"{{url}}\">Prijavite se</a> da biste promijenili password, pretplatu ili drugo ({{user_name}} only)"
+msgstr "<a href=\"{{url}}\">Prijavite se</a> da biste promijenili lozinku, praćenje ili druge stvari (samo {{user_name}})"
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
-msgstr "<p>Završeno! Hvala Vam na pomoći.</p><p>Postoji <a href=\"{{helpus_url}}\">više stvari koje možete uradite</a> da biste pomogli {{site_name}}.</p>"
+msgstr "<p>Završeno! Hvala Vam na pomoći.</p><p>Postoje <a href=\"{{helpus_url}}\">i druge stvari koje možete da uradite</a> da biste doprineli sajtu {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
-msgstr ""
+msgstr "<p>Hvala! Evo nekoliko ideja šta uraditi sada:</p>\\n <ul>\\n <li>Da biste poslali zahtev nekoj drugoj ustanovi, prvo kopirajte tekst Vaše zahteva ispod, a onda <a href=\"{{find_authority_url}}\">izaberete drugu ustanovu</a>.</li>\\n <li>Ako želite da protivrečite tvrdnji ustanove da ne poseduje tu informaciu, evo kako\\n <a href=\"{{complain_url}}\">da uložite žalbu</a>.\\n </li>\\n <li>Imamo <a href=\"{{other_means_url}}\">još saveta</a>\\n o drugim načinima kako da Vaše pitanje bude odgovoreno.\\n </li>\\n </ul>"
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p>Hvala! Nadamo se da nećete morati da čekate još puno.</p> <p>Po zakonu, trebalo je da dobijete odgovor u kratkom roku, obično do <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p>Hvala! Nadamo se da ne čekate predugo.</p> <p>Po zakonu na Vaš zahtev bi trebalo da bude odgovoreno bez odlaganja, po običaju pre <strong>\\n{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr "<p>Hvala! Nadamo se da nećete čekati predugo.</p><p>Trebali biste dobiti odgovor za {{late_number_of_days}} dana, ili obavešteni da će trajati duže. (<a href=\"{{review_url}}\">Više informacija</a>)</p>"
+msgstr "<p>Hvala! Nadamo se da nećete čekati predugo.</p><p>Trebalo bi da dobijete odgovor u roku od {{late_number_of_days}} dana, ili da budete obavešteni da će trajati duže. (<a href=\"{{review_url}}\">Više informacija</a>)</p>"
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
-msgstr ""
+msgstr "<p>Hvala! Rok za odgovor na Vaš zahtev je davno prekoračen, prošlo je više od {{very_late_number_of_days}} dana. Većina zahteva bi trebalo da bude odgovorena u roku od {{late_number_of_days}} dana. Na ovo možete da uložite žalbu, pogledajte ispod.</p>"
msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
-msgstr ""
+msgstr "<p>Hvala što ste promenili tekst o Vama na Vašem profilu.</p>\\n <p><strong>Sledeće...</strong> Možete takođe postaviti i fotografiju.</p>"
msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
-msgstr ""
+msgstr "<p>Hvala što ste ažurirali Vašu fotografiju.</p>\\n <p><strong>Sledeće...</strong> Možete u profil upisati tekst o Vama i Vašem istraživanju.</p>"
msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
-msgstr ""
-"<p>Preporučujemo da preuredite Vaš zahtev i da uklonite e-mail adresu.\n"
-" Ako je ostavite, e-mail adresa će biti poslana ustanovi, ali neće biti vidljiva na web stranici.</p>"
+msgstr "<p>Preporučujemo da izmenite Vaš zahtev i uklonite e-mail adresu.\\n Ako je ostavite, e-mail adresa će biti poslata ustanovi, ali neće biti vidljiva na sajtu.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
-msgstr ""
+msgstr "<p>Drago nam je da ste dobili sve informacije koje ste tražili. Ako budete pisali o ovom zahtevu ili koristili informacije, molimo postavite komentar ispod sa opisom šta ste uradili.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
-msgstr "<p>Drago nam je da ste dobili sve željene informacije. Ako ih budete koristili ili pisali o njima, molimo da se vratite i dodate napomenu ispod opisujući šta ste uradili. </p><p>Ako mislite da je {{site_name}} bio koristan, <a href=\"{{donation_url}}\">donirajte</a> nevladinoj organizaciji koja ga vodi.</p>"
+msgstr "<p>Drago nam je da ste dobili sve željene informacije. Ako ih budete koristili ili pisali o njima, molili bismo Vas da dođete opet i dodate napomenu ispod, opisujući šta ste uradili. </p><p>Ako mislite da je {{site_name}} bio koristan i želeli biste da donirate novac za njegovo održavanje, moramo da Vas obavestimo da mi ne primamo direktne donacije - ali onima koji bi da pomognu i novcem preporučujemo neku od dobrotvornih organizacija - klikom na link <a href=\"{{donation_url}}\">donirajte</a> onoj kojoj trenutno usmeravamo pomoć.</p>"
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr "<p>Drago nam je da ste dobili dio željenih informacija. Ako mislite da je {{site_name}} bio koristan, <a href=\"{{donation_url}}\">donirajte</a> nevladinoj organizaciji koja ga vodi.</p>"
+msgstr "<p>Drago nam je da ste dobili deo željenih informacija.Ako mislite da je {{site_name}} bio koristan i želeli biste da donirate novac za njegovo održavanje, moramo da Vas obavestimo da mi ne primamo direktne donacije - ali onima koji bi da pomognu i novcem preporučujemo neku od dobrotvornih organizacija - klikom na link <a href=\"{{donation_url}}\">donirajte</a> onoj kojoj trenutno usmeravamo pomoć.</p>"
msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr ""
+msgstr "<p>Drago nam je da ste dobili deo informacija koje ste tražili.</p><p>Ako želite da dobijete ostatak informacija, to možete uraditi na sledeći način.</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
msgstr "<p>Nije potrebno da uključite Vašu e-mail adresu u zahtev da biste dobili odgovor (<a href=\"{{url}}\">Više informacija</a>).</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
-msgstr "<p>Nije potrebno da uključite Vašu e-mail adresu u zahtev da biste dobili odgovor, pitati ćemo vas u vezi toga u sledećem koraku (<a href=\"{{url}}\">Više informacija</a>).</p>"
+msgstr "<p>Nije potrebno da uključite Vašu e-mail adresu u zahtev da biste dobili odgovor, pitaćemo Vas u vezi toga u sledećem koraku (<a href=\"{{url}}\">Više informacija</a>).</p>"
msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
-msgstr ""
+msgstr "<p>Vaš zahtev sadrži <strong>poštanski broj</strong>. Ako se ovaj poštanski broj ne odnosi na predmet Vašeg zahteva, molimo Vas da uzmete u obzir da će <strong>zahtev biti prikazan javno na Internetu</strong> - možda bi bilo korisno da uklonite adresu iz teksta, ako želite zaštititi privatnost ličnih podataka - Vaših ili nekog drugog lica.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr ""
+msgstr "<p>Vaš zahtev vezan za {{law_used_full}} je <strong>poslat</strong>!</p>\\n <p><strong>Obavestićemo Vas e-mailom</strong> kada dođe odgovor, ili nakon {{late_number_of_days}} radnih dana, ako ustanova još nije\\n odgovorila.</p>\\n <p>Ako pišete o ovom zahtevu (npr. na nekom forumu ili blogu) molimo Vas da dodate link na ovu stranicu, i \\n komentar ispod, da informišete zainteresovane o Vašem pisanju.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
-msgstr "<p>{{site_name}} je trenutno na održavanju. Možete samo pregledati postojeće zahteve. Ne možete odnositi nove, dodavati prateće poruke ili napomene, ili u suprotnom promijenite bazu podataka.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} je trenutno u režimu održavanja. Možete samo pregledati postojeće zahteve. Ne možete unositi nove, dodavati prateće poruke ili napomene ili na bilo koji način menjati bazu podataka.</p> <p>{{read_only}}</p>"
msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
msgstr ""
-"<small>Ako koristite neke od web mail servisa ili imate filtere za \"junk mail\", provjerite u Vašim bulk/spam folderima. Ponekad su naše poruke označene tako</small>\n"
+"<small>Ako koristite neke od web mail servisa ili imate filtere za \"junk mail\", proverite u Vašim\\n bulk/spam folderima. Naše poruke ponekad budu tako klasifikovane.</small>\n"
"</p>"
msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
-msgstr ""
-"<strong> Da li mogu zahtijevati informacije o sebi?</strong>\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span><span class=\"whitespace other\" title=\"Tab\">»</span><span class=\"whitespace other\" title=\"Tab\">»</span><a href=\"{{url}}\">Ne! (Kliknite za detalje)</a>"
+msgstr "<strong>Mogu li tražiti podatke o sebi?</strong>\\n⇥⇥⇥<a href=\"{{url}}\">Ne! (Kliknite ovde za objašnjenje)</a>"
msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
-msgstr "<strong><code>komentar_od:tony_bowden</code></strong> da pretražujete komentare Tony Bowden-a, ime unesite kao u URL-u."
+msgstr "<strong><code>commented_by:pera_mitic</code></strong> da pretražujete komentare koje je uneo Pera Mitić, ime unesite kao u URL-u."
msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
msgstr "<strong><code>filetype:pdf</code></strong> da nađete sve odgovore sa PDF prilozima. Ili probajte ove: <code>{{list_of_file_extensions}}</code>"
msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
-msgstr "<strong><code>zahtev:</code></strong> da biste se ograničili na neki određeni zahtev, ukucati naslov kao u URL-u"
+msgstr "<strong><code>request:</code></strong> da biste se ograničili na neki određeni zahtev, ukucati naslov kao u URL-u"
msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
-msgstr "<strong><code>podnesen_od strane:julian_todd</code></strong> da biste pretražili zahteve koje je podnio Julian Todd, ukucati ime kao u URL-u."
+msgstr "<strong><code>requested_by:zika_obretkovic</code></strong> da biste pretražili zahteve koje je podnio Žika Obretković, ukucati ime kao što je u URL-u."
msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
-msgstr ""
+msgstr "<strong><code>requested_from:mup_srbije</code></strong> da tražite zahteve informacija od MUP-a Srbije, ukucajte ime kao što je u URL."
msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
-msgstr "<strong><code>status:</code></strong> da biste birali zasnovano na statusu ili historiji statusa zahteva, pogledajte <a href=\"{{statuses_url}}\">tabelu statusa</a> below."
+msgstr "<strong><code>status:</code></strong> da biste birali na osnovu statusu ili istorije statusa zahteva, pogledajte <a href=\"{{statuses_url}}\">tabelu statusa</a> below."
msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
-msgstr ""
+msgstr "<strong><code>tag:charity</code></strong> da nađete sve ustanove ili zahteve sa tim priveskom. Možete uključiti više privezaka, \\n i njihovih vrednosti, npr. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Imajte u vidu da je podrazumevani smisao logičko \"ili\"\\n morate koristiti ključnu reč <code>AND</code> ako želite da postignete logičko \"i\" ."
msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
-msgstr ""
+msgstr "<strong><code>variety:</code></strong> da odaberete vrstu stvari koja se traži, pogledajte <a href=\"{{varieties_url}}\">tabelu vrsta</a> below."
msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
msgstr "<strong>Savet</strong> o tome kako dobiti odgovor koji će zadovoljiti podnosioca zahteva. </li>"
msgid "<strong>All the information</strong> has been sent"
-msgstr "<strong>Sve informacije</strong> su poslane"
+msgstr "<strong>Sve informacije</strong> su poslate"
msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
msgstr "<strong>Nešto drugo</strong>, poput objašnjenja, napomena, zahvalnica"
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
-msgstr ""
+msgstr "<strong>Upozorenje!</strong> Da biste koristili ove podatke na častan način, biće potrebno da\\n dobro poznajete ponašanja korisnika na sistemu {{site_name}}. Kako, \\nzašto i od strane koga su zahtevi klasifikovani nije očigledno i biće\\ngrešaka i nejasnoća. Takođe je korisno da razumete Zakon o slobodnom pristupu informacijama od javnog značaja i način\\nkako ga ustanove koriste. Osim toga će biti potrebno da budete dobar statističar. Molimo\\n<a href=\"{{contact_path}}\">kontaktirajte nas</a> ako imate pitanja."
msgid "<strong>Clarification</strong> has been requested"
msgstr "<strong>Objašnjenje</strong> je zatraženo"
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
-msgstr ""
-"<strong>Nema odgovora</strong> je primljeno\n"
-" <small>(možda postoji samo potvrda)</small>"
+msgstr "Odgovor <strong>još nije primljen</strong>\\n<small>(možda postoji samo potvrda prijema)</small>"
msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
-msgstr ""
+msgstr "<strong>Napomena:</strong> Pošto smo trenutno u fazi testiranja, zahtevi se šalju na {{email}} umesto da idu odgovarajućoj ustanovi."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr ""
+msgstr "<strong>Primeba:</strong> Šaljete poruku samom/samoj sebi, verovatno\\n da probate kako ovo radi."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
-msgstr ""
-"<strong>Napomena:</strong>\n"
-" Poslati ćemo e-mail na Vašu novu adresu. Pratite\n"
-" upute u njemu da bi potvrdili promjenu vašeg e-maila."
+msgstr "<strong>Napomena:</strong>\\n Poslaćemo e-mail na Vašu novu adresu. Pratite\\n instrukcije u njemu da potvrdite promenu Vaše e-mail adrese."
msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
msgstr ""
-"<strong>Napomena o privatnosti:</strong> Ako želite da zahtevate privatne informacije o\n"
-" Vama onda <a href=\"{{url}}\">kliknite ovde</a>."
+"<strong>Napomena o privatnosti:</strong> Ako želite da tražite privatne informacije o\n"
+" sebi, <a href=\"{{url}}\">kliknite ovde</a>."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "<strong>Napomena o privatnosti:</strong> Vaša fotografija će biti prikazana javno na Internetu,\\n kad god uradite nešto na sistemu {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
-msgstr ""
-"<strong>Upozorenje o privatnosti:</strong> Vaša poruka i bilo koji odgovor\n"
-" na nju, će biti javno prikazan na ovoj stranici."
+msgstr "<strong>Upozorenje u vezi privatnosti:</strong> Vaša poruka i odgovori\\n na nju će biti javno prikazani na sajtu."
msgid "<strong>Some of the information</strong> has been sent "
-msgstr "<strong>Dio informacija</strong> je poslan "
+msgstr "<strong>Deo informacija</strong> je poslat"
msgid "<strong>Thank</strong> the public authority or "
-msgstr ""
+msgstr "<strong>Zahvalite</strong> javnoj ustanovi ili "
msgid "<strong>did not have</strong> the information requested."
-msgstr "<strong>nije sadržavao</strong> traženu informaciju."
+msgstr "<strong>nije imao</strong> traženu informaciju."
msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "<a href=\"{{request_url}}\">Reakcija</a> na <em>{{request_title}}</em> je poslata za {{public_body_name}} od strane korisnika {{info_request_user}} na dan {{date}}."
msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
-msgstr ""
+msgstr "<a href=\"{{request_url}}\">Odgovor</a> u vezi zahteva <em>{{request_title}}</em> je poslat od strane ustanove {{public_body_name}} za korisnika {{info_request_user}} na dan {{date}}. Status ovog zahteva je: {{request_status}}"
msgid "A <strong>summary</strong> of the response if you have received it by post. "
-msgstr " <strong>Sažetak</strong> odgovora ako ste ga primili poštom. "
+msgstr " <strong>Sažetak</strong> odgovora, ako ste ga primili poštom. "
msgid "A Freedom of Information request"
-msgstr ""
+msgstr "Zahtev za slobodan pristup informacijama od javnog značaja"
msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
-msgstr ""
+msgstr "Puna istorija mog zahteva za slobodan pristup informacijama od javnog značaja i sva prepiska je raspoloživa na Internetu na ovoj adresi: {{url}}"
msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "Novi zahtev, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, je poslat za {{public_body_name}} od strane korisnika {{info_request_user}} na dan {{date}}."
msgid "A public authority"
msgstr "Javna ustanova"
msgid "A response will be sent <strong>by post</strong>"
-msgstr "Odgovor će biti poslan <strong>poštom</strong>"
+msgstr "Odgovor će biti poslat <strong>poštom</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
-msgstr "Neobičan odgovor, potreban pregled od strane {{site_name}} tima"
+msgstr "Neobičan odgovor, potreban pregled od strane tima {{site_name}}"
msgid "A vexatious request"
-msgstr ""
+msgstr "Zahtev koji zloupotrebljava pravo"
msgid "A {{site_name}} user"
-msgstr "Korisnik stranice {{site_name}}"
+msgstr "Korisnik sistema {{site_name}}"
msgid "About you:"
msgstr "O Vama:"
@@ -335,30 +316,28 @@ msgid "Act on what you've learnt"
msgstr "Radite na osnovu onoga što ste naučili"
msgid "Acts as xapian/acts as xapian job"
-msgstr ""
+msgstr "Ponaša se kao xapian/ponaša se kao xapian džob"
msgid "ActsAsXapian::ActsAsXapianJob|Action"
-msgstr ""
+msgstr "ActsAsXapian::ActsAsXapianJob|Akcija"
msgid "ActsAsXapian::ActsAsXapianJob|Model"
-msgstr ""
+msgstr "ActsAsXapian::ActsAsXapianJob|Model"
msgid "Add an annotation"
-msgstr "Dodati napomenu"
+msgstr "Dodaj napomenu"
msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
-msgstr ""
-"Dodajte napomenu Vašem zahtevu sa izabranim navodima, ili\n"
-" <strong>sažetak odgovora</strong>."
+msgstr "Dodajte napomenu Vašem zahtevu sa izabranim citatima iz odgovora, ili\\n<strong>sažetak odgovora</strong>."
msgid "Added on {{date}}"
-msgstr "Dodato na datum {{date}}"
+msgstr "Dodato {{date}}"
msgid "Admin level is not included in list"
msgstr "Nivo administratora nije uključen u listu"
msgid "Administration URL:"
-msgstr "URL administracije:"
+msgstr "URL za administraciju:"
msgid "Advanced search"
msgstr "Napredna pretraga"
@@ -367,47 +346,43 @@ msgid "Advanced search tips"
msgstr "Saveti za naprednu pretragu"
msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
-msgstr "Savet o tome da li je <strong>odbijanje legalno</strong>, i o tome kako se žaliti ako nije."
+msgstr "Savet o tome da li je <strong>odbijanje zakonito</strong> i o tome kako se žaliti ako nije."
msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
-msgstr ""
-"Zrak, voda, tlo, kopno, flora i fauna (uključujući kako ovi utiču na\n"
-" ljudska bića)"
+msgstr "Vazduh, voda, zemljište, kopno, flora i fauna (uključujući njihov uticaj na\\n ljudska bića)"
msgid "All of the information requested has been received"
msgstr "Sve tražene informacije su primljene"
msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
-msgstr ""
+msgstr "Sve opcije ispod mogu koristiti <strong>status</strong> ili <strong>latest_status</strong> pre dvotačke. Na primer, <strong>status:not_held</strong> odgovara zahtevima koji su <em>ikada</em> bili označeni kao \"ne raspolaže\"; <strong>latest_status:not_held</strong> odgovara zahtevima koji su <em>trenutno</em> označeni kao \"ne raspolaže\"."
msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
-msgstr ""
+msgstr "Sve opcije ispod mogu da koriste <strong>variety</strong> ili <strong>latest_variety</strong> pre dvotačke. Na primer, <strong>variety:sent</strong> odgovara zahtevima koji su <em>ikad</em> bili označeni kao poslati; <strong>latest_variety:sent</strong> odgovara zahtevima koji su <em>trenutno</em> označeni kao poslati."
msgid "Also called {{other_name}}."
-msgstr "Drugim imenom {{other_name}}."
+msgstr "Takođe poznat/a kao {{other_name}}."
msgid "Also send me alerts by email"
-msgstr ""
+msgstr "Šalji mi takođe e-mail biltene"
msgid "Alter your subscription"
-msgstr "Promjenite Vašu pretplatu"
+msgstr "Promjenite Vašu registraciju"
msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
-msgstr ""
-"Iako su svi odgovori automatski objavljeni, računamo na\n"
-"vas, izvornog podnosioca zahteva, da ih ocijenite."
+msgstr "Iako se svi odgovori automatski objavljuju, mi se oslanjamo na\\nVas, podnosioca zahteva, da ih ocenite."
msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
-msgstr ""
+msgstr "<a href=\"{{request_url}}\">Komentar</a> na zahtev <em>{{request_title}}</em> je unet od strane korisnika {{event_comment_user}} na dan {{date}}"
msgid "An <strong>error message</strong> has been received"
-msgstr "<strong>poruka o pogrešci</strong> je primljena"
+msgstr "Primljena je <strong>poruka o grešci</strong>"
msgid "An Environmental Information Regulations request"
-msgstr ""
+msgstr "Zahtev za slobodan pristup informacijama od javnog značaja u vezi prirodne sredine"
msgid "An anonymous user"
-msgstr ""
+msgstr "Anonimni korisnik"
msgid "Annotation added to request"
msgstr "Napomena dodata na zahtev"
@@ -416,47 +391,45 @@ msgid "Annotations"
msgstr "Napomene"
msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
-msgstr "Napomene služe da bilo ko, uključujući Vas, može pomoći podnosioca zahteva sa njegovim zahtevom. Na primjer:"
+msgstr "Napomene služe da bilo ko, uključujući Vas, može da pomogne podnosiocu zahteva u vezi sa zahtevom. Na primer:"
msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
-msgstr ""
-"Napomene će biti postane javno ovde, i \n"
-" <strong>naće</strong> biti poslane za {{public_body_name}}."
+msgstr "Napomene će biti objavljene ovde i\\n <strong>neće</strong> biti poslate ustanovi '{{public_body_name}}'."
msgid "Anonymous user"
-msgstr ""
+msgstr "Anonimni korisnik"
msgid "Anyone:"
msgstr "Bilo ko:"
msgid "Applies to"
-msgstr ""
+msgstr "Primenjuje se na"
msgid "Are we missing a public authority?"
-msgstr ""
+msgstr "Da li nam nedostaje neka ustanova?"
msgid "Are you the owner of any commercial copyright on this page?"
-msgstr ""
+msgstr "Da li ste vlasnik autorskih prava (kopirajta) na bilo šta na ovoj stranici?"
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
-msgstr "Tražite <strong>konkretne</strong> dokumente ili informacije, ova stranica nije pogodna za opće pretrage."
+msgstr "Tražite <strong>konkretne</strong> dokumente ili informacije, ovaj sistem namenjen za opšte upite."
msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
msgstr ""
-"Na dnu ove stranice, napišite im odgovor pokušavajući da ih ubjedite da ga pregledaju\n"
+"Na dnu ove stranice napišite im odgovor da probate da ih ubedite da ga skeniraju i pošalju\n"
" (<a href=\"{{url}}\">Više informacija</a>)."
msgid "Attachment (optional):"
msgstr "Prilog (neobavezno):"
msgid "Attachment:"
-msgstr "Prilog"
+msgstr "Prilog:"
msgid "Awaiting classification."
-msgstr "Čeka klasifikaciju."
+msgstr "Čeka na klasifikaciju."
msgid "Awaiting internal review."
-msgstr "Čeka urgenciju"
+msgstr "Čeka urgenciju."
msgid "Awaiting response."
msgstr "Čeka odgovor."
@@ -465,88 +438,88 @@ msgid "Beginning with"
msgstr "Počevši sa"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
-msgstr "Pretražite <a href='{{url}}'>druge zahteve</a> radi primjera kako da sročite Vaš zahtev."
+msgstr "Listajte <a href='{{url}}'>druge zahteve</a> da nađete primer kako da sročite Vaš zahtev."
msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
-msgstr "Pretražite <a href='{{url}}'>druge zahteve</a> za '{{public_body_name}}' radi primjera kako da sročite Vaš zahtev."
+msgstr "Listajte <a href='{{url}}'>druge zahteve</a> od '{{public_body_name}}' za primere kako da sročite Vaš zahtev."
msgid "Browse all authorities..."
-msgstr "Pretražite sve ustanove"
+msgstr "Listajte sve ustanove..."
msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
-msgstr "Po zakonu, pod svim uvjetima, {{public_body_link}} je trebala odgovoriti do sada"
+msgstr "Po zakonu je, u svakoj varijanti, {{public_body_link}} trebalo da odgovori do sada"
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
-msgstr "Po zakonu, {{public_body_link}} je trebala odgovoriti <strong>brzo</strong> i"
+msgstr "Po zakonu je {{public_body_link}} trebalo da <strong>bez odlaganja</strong> odgovori i"
msgid "Calculated home page"
-msgstr ""
+msgstr "Sračunata naslovna strana"
msgid "Can't find the one you want?"
msgstr "Ne možete naći onaj koji želite?"
msgid "Cancel a {{site_name}} alert"
-msgstr "Poništi {{site_name}} upozorenje"
+msgstr "Otkaži {{site_name}} upozorenje "
msgid "Cancel some {{site_name}} alerts"
-msgstr "Poništi neka {{site_name}} upozorenja"
+msgstr "Otkaži neka {{site_name}} upozorenja"
msgid "Cancel, return to your profile page"
-msgstr "Poništi, vratite se na stranici Vašeg profila"
+msgstr "Otkaži i vrati se na stranicu sa profilom korisnika"
msgid "Censor rule"
-msgstr ""
+msgstr "Pravilo za cenzuru"
msgid "CensorRule|Last edit comment"
-msgstr ""
+msgstr "CensorRule|Komentar poslednje promene"
msgid "CensorRule|Last edit editor"
-msgstr ""
+msgstr "CensorRule|Autor poslednjeg promene"
msgid "CensorRule|Regexp"
-msgstr ""
+msgstr "CensorRule|Regularni izraz"
msgid "CensorRule|Replacement"
-msgstr "Pravilo Cenzure|Zamjena"
+msgstr "CensorRule|Zamena"
msgid "CensorRule|Text"
-msgstr "Pravilo Cenzure|Tekst"
+msgstr "CensorRule|Tekst"
msgid "Change email on {{site_name}}"
-msgstr "Promeniti e-mail na {{site_name}}"
+msgstr "Promenite e-mail adresu na {{site_name}}"
msgid "Change password on {{site_name}}"
-msgstr "Promeniti password na {{site_name}}"
+msgstr "Promenite lozinku na {{site_name}}"
msgid "Change profile photo"
-msgstr "Promeniti sliku na profilu"
+msgstr "Promenite sliku u profilu"
msgid "Change the text about you on your profile at {{site_name}}"
msgstr "Promenite tekst o Vama na Vašem profilu na {{site_name}}"
msgid "Change your email"
-msgstr "Promeniti Vaš e-mail"
+msgstr "Promenite Vašu e-mail adresu"
msgid "Change your email address used on {{site_name}}"
-msgstr "Promijenite Vašu e-mail adresu korištenu na {{site_name}}"
+msgstr "Promenite Vašu e-mail adresu korišćenu na {{site_name}}"
msgid "Change your password"
-msgstr "Promeniti Vaš password"
+msgstr "Promenite Vašu lozinku"
msgid "Change your password on {{site_name}}"
-msgstr "Promeniti password na {{site_name}}"
+msgstr "Promenite Vašu lozinku na {{site_name}}"
msgid "Change your password {{site_name}}"
-msgstr "Promjenite Vaš password {{site_name}}"
+msgstr "Promenite Vašu lozinku {{site_name}}"
msgid "Charity registration"
-msgstr "Registracija nevladine organizacije"
+msgstr "Registracija fondacije"
msgid "Check for mistakes if you typed or copied the address."
-msgstr "Provjerite ima li grešaka ako ste ukucali ili kopirali adresu."
+msgstr "Proverite ima li grešaka ako ste ukucali ili kopirali adresu."
msgid "Check you haven't included any <strong>personal information</strong>."
-msgstr "Provjerite da niste uključili nikakve <strong>lične podatke</strong>."
+msgstr "Proverite da niste uključili nikakve <strong>lične podatke</strong>."
msgid "Choose your profile photo"
msgstr "Odaberite sliku na Vašem profilu"
@@ -555,66 +528,64 @@ msgid "Clarification"
msgstr "Objašnjenje"
msgid "Clarify your FOI request - "
-msgstr ""
+msgstr "Razjasnite Vaš Zahtev za slobodan pristup informacijama od javnog značaja - "
msgid "Classify an FOI response from "
-msgstr "Klasificirajte odgovor na Zahtev za slobodan pristup informacijama od"
+msgstr "Klasifikujte odgovor na ZOSPIOJ zahtev od"
msgid "Clear photo"
-msgstr ""
+msgstr "Ukloni fotografiju"
msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
-msgstr ""
-"Kliknite na link ispod da biste poslali poruku za {{public_body_name}} u kojoj ih napomenite da odgovore. Možda želite tražiti internal\n"
-"review, tražeći da saznaju zašto odgovor na zahtev kasni."
+msgstr "Kliknite na link ispod da pošaljete poruku za {{public_body_name}}, da ih podsetite da odgovore na Vaš zahtev. Možda želite tražiti i urgenciju,\\n tj. da tražite da ispitaju zašto je slanje odgovora na Vaš zahtev ovako sporo."
msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
-msgstr "Kliknite na link ispod da biste poslali poruku {{public_body}} koja će ih podsetiti da odgovore na Vaš zahtev."
+msgstr "Kliknite na link ispod da biste poslali poruku koja će podsetiti {{public_body}} da odgovori na Vaš zahtev."
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
msgid "Comment"
-msgstr ""
+msgstr "Komentar"
msgid "Comment|Body"
-msgstr "Komentar|Tijelo"
+msgstr "Komentar|Telo"
msgid "Comment|Comment type"
msgstr "Komentar|Tip komentara"
msgid "Comment|Locale"
-msgstr "Komentar|Mjesto"
+msgstr "Komentar|Jezik"
msgid "Comment|Visible"
msgstr "Komentar|Vidljiv"
msgid "Confirm you want to follow all successful FOI requests"
-msgstr ""
+msgstr "Potvrdite da želite da pratite sve uspešne zahteve pomoću e-mail biltena "
msgid "Confirm you want to follow new requests"
-msgstr ""
+msgstr "Potvrdite da želite da pratite sve nove zahteve pomoću e-mail biltena "
msgid "Confirm you want to follow new requests or responses matching your search"
-msgstr ""
+msgstr "Potvrdite da želite da pratite sve nove zahteve ili odgovore koji odgovaraju vašem upitu pomoću e-mail biltena "
msgid "Confirm you want to follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Potvrdite da želite da pratite zahteve podnete od strane korisnika '{{user_name}}' pomoću e-mail biltena "
msgid "Confirm you want to follow requests to '{{public_body_name}}'"
-msgstr ""
+msgstr "Potvrdite da želite da pratite zahteve podnete za ustanovu '{{user_name}}' pomoću e-mail biltena "
msgid "Confirm you want to follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Potvrdite da želite da pratite zahtev '{{request_title}}' pomoću e-mail biltena "
msgid "Confirm your FOI request to "
-msgstr "Potvrdite Vaš Zahtev za slobodan pristup informacijama za"
+msgstr "Potvrdite Vaš ZOSPIOJ zahtev za"
msgid "Confirm your account on {{site_name}}"
-msgstr "Potvrdite Vaš račun na {{site_name}}"
+msgstr "Potvrdite Vaš profil na {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
-msgstr "Potvrdite Vašu napomenu za {{info_request_title}}"
+msgstr "Potvrdite Vašu napomenu o zahtevu: {{info_request_title}}"
msgid "Confirm your email address"
msgstr "Potvrdite Vašu e-mail adresu"
@@ -623,58 +594,58 @@ msgid "Confirm your new email address on {{site_name}}"
msgstr "Potvrdite Vašu novu e-mail adresu na {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
-msgstr ""
+msgstr "Sakriven od javnosti, pošto ga administratori ne smatraju za Zahtev za slobodan pristup informacijama od javnog značaja."
msgid "Considered by administrators as vexatious and hidden from site."
-msgstr ""
+msgstr "Sakriven od javnosti, pošto ga administratori smatraju zloupotrebom prava na slobodan pristup informacijama od javnog značaja."
msgid "Contact {{recipient}}"
-msgstr ""
+msgstr "Kontaktiraj: {{recipient}}"
msgid "Contact {{site_name}}"
-msgstr "Kontakt {{site_name}}"
+msgstr "Kontaktirajte {{site_name}}"
msgid "Could not identify the request from the email address"
msgstr "Nismo mogli prepoznati zahtev sa e-mail adrese"
msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
-msgstr "Pogrešan format datoteke. Molimo Vas uploadirajte: PNG, JPEG, GIF, ili neke druge podržive formate."
+msgstr "Format datoteke sa slikom nije prepoznat. Podržani su PNG, JPEG, GIF i dosta drugih uobičajenih formata."
msgid "Crop your profile photo"
-msgstr "Podrezati sliku na Vašem profilu"
+msgstr "Smanjite sliku za Vaš profil - odsecite ivice"
msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
-msgstr ""
+msgstr "Kulturni spomenici i građevine (pošto prirodni faktori\\n sa liste ispod mogu da utiču na njih)"
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
-msgstr "Trenutno <strong>čeka odgovor</strong> od {{public_body_link}}, moraju odgovoriti brzo i"
+msgstr "Trenutno <strong>čeka odgovor</strong> od {{public_body_link}}, oni moraju odgovoriti bez odlaganja i"
msgid "Date:"
msgstr "Datum:"
msgid "Dear {{name}},"
-msgstr ""
+msgstr "Poštovani {{name}},"
msgid "Dear {{public_body_name}},"
msgstr "Poštovani {{public_body_name}},"
msgid "Default locale"
-msgstr ""
+msgstr "Podrazumevani jezik"
msgid "Defunct."
-msgstr ""
+msgstr "Neupotrebljivo."
msgid "Delayed response to your FOI request - "
-msgstr "Odgođen odgovor na Vaš Zahtev o slobodnom pristupu informacijama - "
+msgstr "Odloženi odgovor na Vaš ZOSPIOJ zahtev - "
msgid "Delayed."
-msgstr "Odgođen"
+msgstr "Odložen"
msgid "Delivery error"
msgstr "Greška u isporuci"
msgid "Destroy {{name}}"
-msgstr ""
+msgstr "Uništi {{name}}"
msgid "Details of request '"
msgstr "Detalji zahteva '"
@@ -683,39 +654,37 @@ msgid "Did you mean: {{correction}}"
msgstr "Da li ste mislili: {{correction}}"
msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
-msgstr ""
+msgstr "Napomena: Ova poruka i Vaš odgovor će biti objavljeni na Internetu. Naša pravila privatnosti i kopirajta:"
msgid "Disclosure log"
-msgstr ""
+msgstr "Dnevnik objava"
msgid "Disclosure log URL"
-msgstr ""
+msgstr "URL za dnevnik objava"
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
-msgstr ""
+msgstr "Ne želite da pošaljete Vašu poruku na {{person_or_body}}? Možete takođe pisati:"
msgid "Done"
msgstr "Završeno"
msgid "Done &gt;&gt;"
-msgstr ""
+msgstr "Urađeno &gt;&gt;"
msgid "Download a zip file of all correspondence"
msgstr "Preuzmite svu korespondenciju u zip fajlu"
msgid "Download original attachment"
-msgstr "Preuzeti originalni prilog"
+msgstr "Preuzmite originalni prilog"
msgid "EIR"
-msgstr ""
+msgstr "Zakon o zaštiti životne okoline"
msgid "Edit"
-msgstr ""
+msgstr "Izmeni"
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
-msgstr ""
-"Uredite i dodajte <strong>više detalja</strong> na poruku iznad,\n"
-" objašnjavajući zašto niste zadovoljni njihovim odgovorom."
+msgstr "Promenite i dodajte <strong>još detalja</strong> u poruku ispod,\\n da objasnite zašto niste zadovoljni sa njihovim odgovorom."
msgid "Edit text about you"
msgstr "Uredite tekst o Vama"
@@ -724,46 +693,46 @@ msgid "Edit this request"
msgstr "Uredi ovaj zahtev"
msgid "Either the email or password was not recognised, please try again."
-msgstr "E-mail ili password nisu prepoznati, molimo pokušajte ponovo."
+msgstr "E-mail ili lozinka nisu prepoznati, molimo pokušajte ponovo."
msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
-msgstr "E-mail ili password nisu prepoznati, molimo pokušajte ponovo. Ili kreirajte novi račun koristeći formular desno."
+msgstr "E-mail ili lozinka nisu prepoznati, molimo pokušajte ponovo - ili kreirajte novi profil, koristeći formular na desnoj strani."
msgid "Email doesn't look like a valid address"
-msgstr "E-mail ne izgleda kao validna adresa"
+msgstr "E-mail ne izgleda kao ispravna adresa"
msgid "Email me future updates to this request"
-msgstr "Buduća ažuriranja šaljite na moj e-mail"
+msgstr "Šaljite mi buduće izmene ovog zahteva emailom"
msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
-msgstr "Sa razmacima unesite reči koje želite naći, npr. <strong>climbing lane</strong"
+msgstr "Unesite reči koje želite naći odvojene razmacima, npr. <strong>jonizujućeg zračenja</strong>"
msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
-msgstr ""
+msgstr "Unesite svoj odgovor ispod. Možete priložiti jedan fajl (koristite e-mail, ili\\n <a href=\"{{url}}\">nas kontaktirajte</a> ako želite više)."
msgid "Environmental Information Regulations"
-msgstr ""
+msgstr "Regulativa u vezi informacija o zaštiti prirodne sredine"
msgid "Environmental Information Regulations requests made"
-msgstr ""
+msgstr "Zahtevi za informacijama u vezi prirodne sredine"
msgid "Environmental Information Regulations requests made using this site"
-msgstr ""
+msgstr "Zahtevi za informacijama u vezi prirodne sredine poslati uz pomoć ovog sistema"
msgid "Event history"
-msgstr "Prikaz prošlih događanja"
+msgstr "Istorija promena"
msgid "Event history details"
-msgstr "Detalji prikaza prošlih događanja"
+msgstr "Detalji istorije promena"
msgid "Event {{id}}"
-msgstr ""
+msgstr "Događaj {{id}}"
msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-"Sve što unesete na ovu stranicu, uključujući <strong>Vaše ime</strong>, \n"
-" će biti <strong>javno prikazano</strong> na\n"
-" ovoj web stranici zauvek (<a href=\"{{url}}\">Više informacija</a>)."
+"Sve što unesete na ovu stranicu, uključujući i <strong>Vaše ime</strong>, \n"
+" biće <strong>javno prikazano</strong> na\n"
+" ovoj web stranici trajno (<a href=\"{{url}}\">Više informacija</a>)."
msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -772,82 +741,82 @@ msgstr ""
" ovoj web stranici trajno. (<a href=\"{{url}}\">Više informacija</a>)."
msgid "FOI"
-msgstr ""
+msgstr "ZOSPIOJ"
msgid "FOI email address for {{public_body}}"
-msgstr "ZOSPI e-mail adresa za {{public_body}}"
+msgstr "ZOSPIOJ kontakt e-mail adresa kod {{public_body}}"
msgid "FOI request – {{title}}"
-msgstr ""
+msgstr "Zahtevi za slobodan pristup informacijama od javnog značaja – {{title}}"
msgid "FOI requests"
-msgstr "Zahtevi za slobodan pristup informacijama"
+msgstr "Zahtevi po ZOSPIOJ "
msgid "FOI requests by '{{user_name}}'"
-msgstr "Zahtevi za slobodan pristup informacijama od strane '{{user_name}}'"
+msgstr "ZOSPIOJ zahtevi od strane '{{user_name}}'"
msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "ZOSPIOJ zahtevi {{start_count}} do {{end_count}} od ukupno {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
-msgstr ""
+msgstr "Odgovor na Zahtev za slobodan pristup informacijama od javnog značaja zahteva administratorsku dozvolu - ({{reason}}) - {{title}}"
msgid "Failed to convert image to a PNG"
-msgstr "Nismo uspeli konvertovati sliku u PNG format"
+msgstr "Neuspela konverzija slike u PNG format"
msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
-msgstr "Nismo uspeli konvertovati sliku u odgovarajuću veličinu: {{cols}}x{{rows}}, potrebno {{width}}x{{height}}"
+msgstr "Nismo uspeli da konvertujemo sliku u odgovarajuću veličinu: {{cols}}x{{rows}}, potrebno {{width}}x{{height}}"
msgid "Filter"
msgstr "Filtriraj"
msgid "First, did your other requests succeed?"
-msgstr ""
+msgstr "Prvo: da li su Vaši ostali zahtevi uspeli?"
msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Prvo unesite <strong>ime ustanove</strong> od koje\\n tražite informacije. <strong>Po zakonu oni su obavezni da odgovore</strong>\\n (<a href=\"{{url}}\">Zašto?</a>)."
msgid "Foi attachment"
-msgstr ""
+msgstr "Prilog"
msgid "FoiAttachment|Charset"
-msgstr ""
+msgstr "FoiAttachment|Kodna strana"
msgid "FoiAttachment|Content type"
-msgstr ""
+msgstr "FoiAttachment|Tip dokumenta"
msgid "FoiAttachment|Display size"
-msgstr ""
+msgstr "ZOSPIPrilog|Veličina za prikaz"
msgid "FoiAttachment|Filename"
-msgstr ""
+msgstr "FoiAttachment|Ime datoteke"
msgid "FoiAttachment|Hexdigest"
-msgstr ""
+msgstr "FoiAttachment|HeksaOtisak"
msgid "FoiAttachment|Url part number"
-msgstr ""
+msgstr "FoiAttachment|Url broj dela"
msgid "FoiAttachment|Within rfc822 subject"
-msgstr ""
+msgstr "FoiAttachment|U rfc822 predmetu"
msgid "Follow"
-msgstr ""
+msgstr "Prati"
msgid "Follow all new requests"
-msgstr ""
+msgstr "Prati sve nove zahteve"
msgid "Follow new successful responses"
-msgstr ""
+msgstr "Prati nove uspešne odgovore"
msgid "Follow requests to {{public_body_name}}"
-msgstr ""
+msgstr "Prati zahteve podnete za {{public_body_name}}"
msgid "Follow these requests"
msgstr "Prati ove zahteve"
msgid "Follow things matching this search"
-msgstr ""
+msgstr "Pratite stvari koje odgovaraju ovom upitu"
msgid "Follow this authority"
msgstr "Prati ovu ustanovu"
@@ -856,76 +825,85 @@ msgid "Follow this link to see the request:"
msgstr "Pratite ovaj link da biste videli zahtev:"
msgid "Follow this person"
-msgstr ""
+msgstr "Prati ovog korisnika"
msgid "Follow this request"
msgstr "Prati ovaj zahtev"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
-msgstr ""
+msgstr "Reakcija"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
-msgstr "Prateća poruka poslana od strane podnosioca zahteva"
+msgstr "Poruka reakcije poslata od strane podnosioca zahteva"
msgid "Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Poruke reakcije na postojeće zahteve se šalju na"
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
-msgstr ""
+msgstr "Reakcije i novi odgovori na ovaj zahtev su blokirani da se spreči spamovanje. Molimo <a href=\"{{url}}\">da nas kontaktirate</a> ako ste Vi {{user_link}} i potrebno vam je da pošaljete reakciju."
msgid "Follow us on twitter"
msgstr "Pratite nas na twitter-u"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
-msgstr ""
+msgstr "Na ovaj zahtev se ne mogu slati reakcije, pošto je zahtev podnet na drugom mestu i objavljen ovde od strane ustanove '{{public_body_name}}' u ime podnosioca."
msgid "For an unknown reason, it is not possible to make a request to this authority."
-msgstr "Iz nepoznatog razloga, nije moguće podneti zahtev ovoj ustanovi."
+msgstr "Iz nepoznatog razloga nije moguće podneti zahtev ovoj ustanovi."
msgid "Forgotten your password?"
-msgstr "Zaboravili ste Vaš password?"
+msgstr "Zaboravili ste Vašu lozinku?"
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Pronađena {{count}} ustanova {{description}}"
+msgstr[1] "Pronađene {{count}} ustanove {{description}}"
+msgstr[2] "Pronađeno {{count}} ustanova {{description}}"
msgid "Freedom of Information"
-msgstr ""
+msgstr "Slobodan pristup informacijama"
msgid "Freedom of Information Act"
-msgstr ""
+msgstr "Zakon o slobodnom pristupu informacijama od javnog značaja"
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
-msgstr ""
+msgstr "Zakon o slobodnom pristupu informacijama od javnog značaja ne važi za ovu ustanovu,\\n pa im zato ne možete podnositi zahteve."
msgid "Freedom of Information law no longer applies to"
-msgstr "Zakon o slobodnom pristupu informacijama više se ne primjenjuje na"
+msgstr "Zakon o slobodnom pristupu informacijama od javnog značaja više se ne primjenjuje na"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Ova ustanova više ne podleže Zakonu o slobodnom pristupu informacijama od javnog značaja. Poruke reakcije na postojeće zahteve se šalju"
msgid "Freedom of Information requests made"
-msgstr "Zahtevi za slobodan pristup informacijama podneseni"
+msgstr "Podneti zahtevi za slobodan pristup informacijama od javnog značaja"
msgid "Freedom of Information requests made by this person"
-msgstr "Zahtevi za slobodan pristup informacijama podnešeni od strane ove osobe"
+msgstr "Zahtevi za slobodan pristup informacijama od javnog značaja podneti od strane ove osobe"
msgid "Freedom of Information requests made by you"
-msgstr "Zahtevi za slobodan pristup informacijama podnešeni od strane Vas."
+msgstr "Zahtevi za slobodan pristup informacijama od javnog značaja podneti od strane Vas."
msgid "Freedom of Information requests made using this site"
-msgstr "Zahtevi za slobodan pristup informacijama podneseni na ovoj stranici"
+msgstr "Zahtevi za slobodan pristup informacijama od javnog značaja podneti kroz ovaj sistem"
msgid "Freedom of information requests to"
-msgstr ""
+msgstr "Zahtevi za slobodan pristup informacijama od javnog značaja podneti"
msgid "From"
-msgstr ""
+msgstr "Od strane:"
msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "Na stranici zahteva pokušajte odgovoriti na konkretnu poruku umesto slanja\\n opšteg komentara. Ako želite da napišete reakciju, a znate\\n e-mail adresu pravog mesta, molimo <a href=\"{{url}}\">pošaljite je i nama</a>."
msgid "From:"
msgstr "Od strane:"
@@ -934,22 +912,22 @@ msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
msgstr "OVDE IZNESITE DETALJE VAŠE ŽALBE"
msgid "Handled by post."
-msgstr ""
+msgstr "Obrađeno poštom."
msgid "Has tag string/has tag string tag"
-msgstr ""
+msgstr "Sadrži privezak-string/sadrži privezak-string privezak"
msgid "HasTagString::HasTagStringTag|Model"
-msgstr ""
+msgstr "HasTagString::HasTagStringTag|Model"
msgid "HasTagString::HasTagStringTag|Name"
-msgstr ""
+msgstr "HasTagString::HasTagStringTag|Ime"
msgid "HasTagString::HasTagStringTag|Value"
-msgstr ""
+msgstr "HasTagString::HasTagStringTag|Vrednost"
msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
-msgstr "Dobrodošli! Možete podnositi Zahteve za slobodan pristup informacijama u {{country_name}} na ovom linku: {{link_to_website}}"
+msgstr "Dobrodošli! Možete podnositi Zahteve za slobodan pristup informacijama od javnog značaja za zemlju {{country_name}} na ovom linku: {{link_to_website}}"
msgid "Hello, {{username}}!"
msgstr "Dobrodošli, {{username}}!"
@@ -958,23 +936,19 @@ msgid "Help"
msgstr "Pomoć"
msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
-msgstr ""
+msgstr "Ovde termin <strong>opisano</strong> znači da je korisnik odabrao status zahteva i\\nstatus najnovijeg događaja je ažuriran na tu vrednost. Termin <strong>sračunat</strong> je pretpostavljen od strane sistema \\n{{site_name}} za događaje u toku života zahteva, kojima korisnik nije dao\\neksplicitan opis. Pogledajte <a href=\"{{search_path}}\">savete za pretragu</a> za značenje stanja."
msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
-msgstr ""
+msgstr "Evo poruke koju ste napisali, U slučaju da želite da napravite kopiju teksta i snimite ga za kasnije."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
-msgstr ""
-"Pozdrav, trebamo Vašu pomoć. Osoba koja je podnela sledeći zahtev\n"
-" nam nije rekla da li je bio uspešan ili ne. Da li biste mogli odvojiti\n"
-" malo vremena da ga pročitate i da nam pomognete da održimo ovo mjesto urednim za sve?\n"
-" Hvala."
+msgstr "Zdravo! Potrebna nam je Vaša pomoć. Osoba koja je podnela ovaj zahtev\\n nam nije rekla da li je ili nije bio uspešan. Da li biste bili ljubazni da\\n odvojite malo vremena da pogledate zahtev i pomognete nam da održavamo ovo mesto urednim za sve?\\n Thanks."
msgid "Hide request"
-msgstr ""
+msgstr "Sakrij zahtev"
msgid "Holiday"
-msgstr ""
+msgstr "Praznik"
msgid "Holiday|Day"
msgstr "Praznik|Dan"
@@ -986,27 +960,25 @@ msgid "Home"
msgstr "Naslovna"
msgid "Home page"
-msgstr ""
+msgstr "Naslovna strana"
msgid "Home page of authority"
msgstr "Početna stranica ustanove"
msgid "However, you have the right to request environmental\\n information under a different law"
-msgstr ""
-"Ipak, imate pravo da tražite informacije o okolišu\n"
-" pozivajući se na drugi zakon"
+msgstr "Imate, ipak, pravo da tražite informacije o prirodnoj sredini\\n po drugom zakonu."
msgid "Human health and safety"
-msgstr ""
+msgstr "Zdravlje i bezbednost ljudi"
msgid "I am asking for <strong>new information</strong>"
msgstr "Molim za <strong>nove informacije</strong>"
msgid "I am requesting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Molim za <strong>urgenciju</strong>"
msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
-msgstr ""
+msgstr "Pišem Vam da zatražim kontrolu načina na koji je moj Zahtev za slobodan pristup informacijama od javnog značaja '{{info_request_title}}' obrađen od strane {{public_body_name}} ."
msgid "I don't like these ones &mdash; give me some more!"
msgstr "Ne sviđaju mi se ove &mdash; dajte mi više!"
@@ -1015,21 +987,19 @@ msgid "I don't want to do any more tidying now!"
msgstr "Ne želim da uređujem više u ovom momentu!"
msgid "I like this request"
-msgstr ""
+msgstr "Sviđa mi se ovaj zahtev"
msgid "I would like to <strong>withdraw this request</strong>"
-msgstr "Želio/la bih da <strong>povučem ovaj zahtev</strong>"
+msgstr "Želim da <strong>povučem ovaj zahtev</strong>"
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
-msgstr ""
-"Još uvek <strong>čekam</strong> na svoje informacije\n"
-" <small>(možda ste dobili potvrdu)</small>"
+msgstr "Još uvek <strong>čekam</strong> da dobijem informacije\\n <small>(možda ste dobili potvrdu)</small>"
msgid "I'm still <strong>waiting</strong> for the internal review"
msgstr "Još uvek <strong>čekam</strong> na urgenciju"
msgid "I'm waiting for an <strong>internal review</strong> response"
-msgstr "Čekam na <strong>urgenciju</strong>"
+msgstr "Čekam na odgovor u vezi <strong>urgencije</strong>"
msgid "I've been asked to <strong>clarify</strong> my request"
msgstr "Zamoljen/a sam da <strong>objasnim</strong> moj zahtev"
@@ -1038,28 +1008,25 @@ msgid "I've received <strong>all the information"
msgstr "Dobio/la sam <strong>sve informacije"
msgid "I've received <strong>some of the information</strong>"
-msgstr "Dobio/la sam <strong>dio informacija</strong>"
+msgstr "Dobio/la sam <strong>deo informacija</strong>"
msgid "I've received an <strong>error message</strong>"
-msgstr "Dobio/la sam <strong>poruku o pogrešci</strong>"
+msgstr "Dobio/la sam <strong>poruku o greški</strong>"
msgid "I've received an error message"
-msgstr ""
+msgstr "Dobio sam poruku o grešci"
msgid "Id"
-msgstr ""
+msgstr "Id"
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Ako je adresa pogrešna, ili znate bolju adresu, molimo Vas <a href=\"{{url}}\">da nas kontaktirate</a>."
msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
-msgstr ""
+msgstr "Ako je greška bila u isporuci, a poznata vam je ažurna email adresa ustanove za potrebe Zahteva za slobodan pristup informacijama od javnog značaja, molimo Vas da nam dostavite tu email adresu koristeći formular ispod."
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
-msgstr ""
-"Ako je ovo pogrešno, ili biste da pošaljete novi odgovor na zahtev\n"
-"ili e-mail o nečemu drugome {{user}}, onda molimo\n"
-"pošaljite nam e-mail {{contact_email}} za pomoć."
+msgstr "Ako je ovo netačno, ili biste želeli da pošaljete zakasneli odgovor na ovaj zahtev\\nili e-mail poruku po drugom osnovu korisniku {{user}}, molimo\\n pošaljite poruku na adresu {{contact_email}} za pomoć."
msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
msgstr ""
@@ -1071,10 +1038,10 @@ msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a
msgstr "Ako i dalje imate problema, molimo <a href=\"{{url}}\">kontaktirajte nas</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
-msgstr ""
+msgstr "Ako ste Vi podnosilac zahteva onda molimo da se <a href=\"{{url}}\">prijavite na sistem</a> da biste videli poruku."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr "Ako ste podnosioc zahteva, možete se <a href=\"{{url}}\">prijaviti</a> da biste pogledali zahtev."
+msgstr "Ako ste podnosilac zahteva, možete se <a href=\"{{url}}\">prijaviti</a> da biste pogledali zahtev."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
msgstr ""
@@ -1082,193 +1049,175 @@ msgstr ""
" molimo da<a href=\"{{url}}\">pročitajte prvo ovo</a>."
msgid "If you are {{user_link}}, please"
-msgstr "Ako ste {{user_link}}, molimo"
+msgstr "Ako ste Vi {{user_link}}, molimo"
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr ""
+msgstr "Ako verujete da je zahtev neprikladan možete ga prijaviti administratorima sistema"
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
-msgstr ""
-"Ako ne možete kliknuti na njega u e-mailu, morati ćete <strong>odabrati i kopirati\n"
-"ga</strong> sa e-maila. Zatim <strong>nalijepite ga u Vaš pretraživač</strong>, na mjesto\n"
-"gde biste ukucali adresu bilo koje druge web stranice."
+msgstr "Ako ne možete kliknuti na njega u e-mail poruci, moraćete da <strong>obeležite i kopirate\\nga</strong> iz poruke. Onda <strong>ga prepišite u Vaš browser</strong>, na mesto gde\\ninače upisujete adresu bilo koje druge web stranice."
msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
-msgstr ""
-"Ako možete skenirajte ili uslikajte odgovor, i <strong>pošaljite nam\n"
-" kopiju za slanje</strong>."
+msgstr "Ako je moguće molimo skenirajte ili fotografišite odgovor i <strong>pošaljite nam ga\\n da ga postavimo</strong>."
msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
-msgstr ""
+msgstr "Ako Vam, kao nadležnom referentu za izdavanje informacija od javnog značaja, ovaj sistem koristi, molimo Vas da tražite od vašeg webmastera da postavi link na naš sistem sa stranice web sajta Vaše ustanove koja se tiče informacija od javnog značaja."
msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
-msgstr ""
-"Ako ste dobili e-mail <strong>pre više od šest meseci</strong>, onda ovaj link za prijavu više neće\n"
-"raditi. Molimo pokušajte ispočetka."
+msgstr "Ako ste dobili e-mail <strong>pre više od šest meseci</strong>, onda ovaj link za prijavu na sistem više neće\\nraditi. U tom slučaju molimo pokušajte ispočetka."
msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
-msgstr "Ako niste već, molimo napišite poruku ispod u kojoj napominjete ustanovu da ste povukli Vaš zahtev. U protivnom neće znati da je zahtev povučen."
+msgstr "Ako već niste, molimo napišite ispod poruku kojom informišete ustanovu da ste povukli Vaš zahtev. U protivnom oni neće znati da je zahtev povučen."
msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
-msgstr ""
+msgstr "Ako odgovorite korisniku {{user_name}} na ovu email poruku direktno, korisnik će\\nsaznati Vašu e-mail adresu. Odgovorite samo ako se slažete sa ovim."
msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
-msgstr ""
-"Ako koristite neke od web mail servisa ili imate filtere za \"junk mail\", provjerite u Vašim\n"
-"bulk/spam folderima. Ponekad su naše poruke označene tako."
+msgstr "Ako koristite web mail ili imate \"junk mail\" filtere, proverite takođe\\nbulk/spam mail foldere. Naše poruke ponekad budu tako klasifikovane."
msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
-msgstr ""
-"Ako biste željeli da ukinemo ovu zabranu, možete nas na pristojan način\n"
-"<a href=\"/help/contact\">kontaktirati</a> uz obrazloženje.\\n"
+msgstr "Ako biste želeli da ukinemo ovu zabranu, molimo Vas da nas na uljudan način\\n<a href=\"/help/contact\">kontaktirate</a> uz obrazloženje.\\n"
msgid "If you're new to {{site_name}}"
msgstr "Ako ste novi na {{site_name}}"
msgid "If you've used {{site_name}} before"
-msgstr "Ako ste koristili {{site_name}} prije"
+msgstr "Ako ste koristili {{site_name}} ranije"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
-msgstr ""
-"Ako je Vaš pretraživač namješten da prihvata cookies-e i vidite ovu poruku,\n"
-"onda vjerovatno postoji problem sa našim serverom."
+msgstr "Ako je Vaš browser podešen da prihvata cookies-e i vidite ovu poruku,\\nonda je verovatno neki problem sa našim serverom."
msgid "Incoming email address"
-msgstr ""
+msgstr "Dolazna email adresa"
msgid "Incoming message"
-msgstr ""
+msgstr "Dolazna poruka"
msgid "IncomingMessage|Cached attachment text clipped"
-msgstr ""
+msgstr "IncomingMessage|Keširani tekst priloga odsečen"
msgid "IncomingMessage|Cached main body text folded"
-msgstr ""
+msgstr "IncomingMessage|Keširani glavni tekst isprelaman"
msgid "IncomingMessage|Cached main body text unfolded"
-msgstr ""
+msgstr "IncomingMessage|Keširani glavni tekst rekonstruisan"
msgid "IncomingMessage|Last parsed"
-msgstr ""
+msgstr "IncomingMessage|Poslednje analizirano"
msgid "IncomingMessage|Mail from"
-msgstr ""
+msgstr "IncomingMessage|Poruka od"
msgid "IncomingMessage|Mail from domain"
-msgstr "Nadolazeća poruka|Pošta sa domene"
+msgstr "IncomingMessage|Poruka sa domena"
msgid "IncomingMessage|Prominence"
-msgstr ""
+msgstr "IncomingMessage|Važnost"
msgid "IncomingMessage|Prominence reason"
-msgstr ""
+msgstr "IncomingMessage|Razlog važnosti"
msgid "IncomingMessage|Sent at"
-msgstr "Nadolazeća poruka|Poslana u"
+msgstr "IncomingMessage|Poslata u"
msgid "IncomingMessage|Subject"
-msgstr "Nadolazeća poruka|Tema"
+msgstr "IncomingMessage|Predmet"
msgid "IncomingMessage|Valid to reply to"
-msgstr "Nadolazeća poruka|Validna za odgovor za"
+msgstr "IncomingMessage|Validna za odgovor za"
msgid "Individual requests"
-msgstr ""
+msgstr "Pojedinačni zahtevi"
msgid "Info request"
-msgstr ""
+msgstr "Zahtev za informacije"
msgid "Info request event"
-msgstr ""
+msgstr "Događaj u vezi zahteva za informacije"
msgid "InfoRequestEvent|Calculated state"
-msgstr ""
+msgstr "InfoRequestEvent|Sračunato stanje"
msgid "InfoRequestEvent|Described state"
-msgstr ""
+msgstr "InfoRequestEvent|Opisano stanje"
msgid "InfoRequestEvent|Event type"
-msgstr ""
+msgstr "InfoRequestEvent|Tip događaja"
msgid "InfoRequestEvent|Last described at"
-msgstr ""
+msgstr "InfoRequestEvent|Poslednji put opisano"
msgid "InfoRequestEvent|Params yaml"
-msgstr ""
+msgstr "InfoRequestEvent|YAML parametri"
msgid "InfoRequest|Allow new responses from"
-msgstr ""
+msgstr "InfoRequest|Dozvoli nove odgovore od"
msgid "InfoRequest|Attention requested"
-msgstr ""
+msgstr "InfoRequest|Zahtevana pažnja"
msgid "InfoRequest|Awaiting description"
-msgstr ""
+msgstr "InfoRequest|Čekajući opis"
msgid "InfoRequest|Comments allowed"
-msgstr ""
+msgstr "InfoRequest|Dozvoljeni komentari"
msgid "InfoRequest|Described state"
-msgstr ""
+msgstr "InfoRequest|Opisano stanje"
msgid "InfoRequest|External url"
-msgstr ""
+msgstr "InfoRequest|Spoljni url"
msgid "InfoRequest|External user name"
-msgstr ""
+msgstr "InfoRequest|Spoljno korisničko ime"
msgid "InfoRequest|Handle rejected responses"
-msgstr ""
+msgstr "InfoRequest|Razrešavanje odbijenih odgovora"
msgid "InfoRequest|Idhash"
-msgstr ""
+msgstr "InfoRequest|Idhash"
msgid "InfoRequest|Law used"
-msgstr ""
+msgstr "InfoRequest|Primenjeni zakon"
msgid "InfoRequest|Prominence"
-msgstr ""
+msgstr "InfoRequest|Važnost"
msgid "InfoRequest|Title"
-msgstr ""
+msgstr "InfoRequest|Naslov"
msgid "InfoRequest|Url title"
-msgstr ""
+msgstr "InfoRequest|Url naslov"
msgid "Information not held."
-msgstr "Ne posedujemo informacije."
+msgstr "Informacija nije u posedu."
msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
-msgstr ""
-"Informacije o emisijama i otpadima (npr. buka, energija,\n"
-" radijacija, otpadni materijali)"
+msgstr "Informacije o emisijama i otpadima (npr. šum\\n radijacija, otpadni materijali)"
msgid "Internal review request"
msgstr "Zahtev za urgenciju"
msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
-msgstr "Da li je {{email_address}} pogrešna adresa za {{type_of_request}} zahteve za {{public_body_name}}?Ako da, molimo kontaktirajte nas koristeći ovaj formular:"
+msgstr "Da li je {{email_address}} pogrešna email adresa za zahteve za {{public_body_name}} tipa {{type_of_request}}? Ako jeste, molimo da nas kontaktirate koristeći ovaj formular:"
msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
-msgstr ""
-"Moguće je da Vaš pretraživač nije namešten da prihvata nešto što se zove \"cookies\",\n"
-"ili nema tu mogućnost. Ako možete, molimo pokušajte aktivirati cookies-e, ili pokušajte koristiti drugi\n"
-"pretraživač. Zatim pritisnite refresh da biste pokušali ponovo."
+msgstr "Moguće je da Vaš browser nije podešen da prihvata nešto što se zove \"cookies\",\\nili nema tu mogućnost. Ako možete, molimo pokušajte aktivirati cookies-e, ili pokušajte koristiti drugi\\nbrowser. Onda osvežite stranicu da probate ponovo."
msgid "Items matching the following conditions are currently displayed on your wall."
-msgstr ""
+msgstr "Ono što ispunjava sledeće zahteve je trenutno prikazano na Vašem zidu."
msgid "Items sent in last month"
-msgstr ""
+msgstr "Poslato prošlog meseca"
msgid "Joined in"
msgstr "Pridružio se u"
msgid "Joined {{site_name}} in"
-msgstr "Pridružio se na {{site_name}} u"
+msgstr "Počeo koristiti {{site_name}} u"
msgid "Just one more thing"
-msgstr ""
+msgstr "Samo još jedna stvar"
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Držite se <strong>suštine</strong>, lakše ćete dobiti ono što tražite(<a href=\"{{url}}\">Više informacija</a>)."
@@ -1277,118 +1226,112 @@ msgid "Keywords"
msgstr "Ključne reči"
msgid "Last authority viewed: "
-msgstr "Zadnja pregledana ustanova: "
+msgstr "Poslednja pregledana ustanova: "
msgid "Last request viewed: "
-msgstr "Zadnji pregledani zahtev: "
+msgstr "Poslednji pregledani zahtev: "
msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
-msgstr ""
-"Obavestite nas o tome šta ste uradili kada se ova poruka\n"
-"pojavila i o tipu i verziji Vašeg pretraživača i operativnog sistema."
+msgstr "Obavestite nas šta ste radili kada se pojavila ova poruka\\ni takođe koji browser i tip i verziju operativnog sistema koristite."
msgid "Link to this"
msgstr "Spojite sa ovim"
msgid "List all"
-msgstr ""
+msgstr "Prikaži sve"
msgid "List of all authorities (CSV)"
msgstr "Popis svih ustanova (CSV)"
msgid "Listing FOI requests"
-msgstr ""
+msgstr "Prikaz zahteva"
msgid "Listing public authorities"
-msgstr ""
+msgstr "Prikaz ustanova"
msgid "Listing public authorities matching '{{query}}'"
-msgstr ""
+msgstr "Prikaz ustanova koje odgovaraju upitu '{{query}}'"
msgid "Listing tracks"
-msgstr ""
+msgstr "Prikaz praćenja"
msgid "Listing users"
-msgstr ""
+msgstr "Prikaz korisnika"
msgid "Log in to download a zip file of {{info_request_title}}"
-msgstr "Prijavite se da preuzmete zipovano {{info_request_title}}"
+msgstr "Prijavite se da preuzmete {{info_request_title}} u obliku zip arhive"
msgid "Log into the admin interface"
-msgstr ""
+msgstr "Prijavite se na administrativnu aplikaciju"
msgid "Long overdue."
-msgstr ""
+msgstr "Davno prošao rok."
msgid "Made between"
msgstr "Napravljen između"
msgid "Mail server log"
-msgstr ""
+msgstr "Pošalji serverski dnevnik aktivnosti"
msgid "Mail server log done"
-msgstr ""
+msgstr "Serverski dnevnik aktivnosti poslat"
msgid "MailServerLogDone|Filename"
-msgstr ""
+msgstr "MailServerLogDone|Ime datoteke"
msgid "MailServerLogDone|Last stat"
-msgstr ""
+msgstr "MailServerLogDone|Poslednje statistike"
msgid "MailServerLog|Line"
-msgstr ""
+msgstr "MailServerLog|Linija"
msgid "MailServerLog|Order"
-msgstr ""
+msgstr "MailServerLog|Redosled"
msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
-msgstr ""
-"Podnesi novi<br/>\n"
-" <strong>Zahtev<span> za</span><br/>\n"
-" slobodan<br/>\n"
-" pristup informacijama</strong>"
+msgstr "Podnesi novi<br/>\\n<strong>Zahtev<span> za</span><br/>\\nslobodan<br/>\\npristup informacijama od javnog značaja</strong>"
msgid "Make a request"
msgstr "Podnesi zahtev"
msgid "Make a request to this authority"
-msgstr ""
+msgstr "Podnesite zahtev ovoj instituciji"
msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
msgstr "Podnesi {{law_used_short}} zahtev javnoj ustanovi '{{public_body_name}}'"
msgid "Make and browse Freedom of Information (FOI) requests"
-msgstr "Napravi i pretraži Zahteve za slobodan pristup informacijama"
+msgstr "Podnesi ili pretražuj zahteve po Zakonu o slobodnom pristupu informacijama od javnog značaja (ZOSPIOJ)"
msgid "Make your own request"
-msgstr "Načinite Vaš zahtev"
+msgstr "Podnesite zahtev"
msgid "Many requests"
-msgstr ""
+msgstr "Puno zahteva"
msgid "Message"
-msgstr ""
+msgstr "Poruka"
msgid "Message has been removed"
-msgstr ""
+msgstr "Poruka je uklonjena"
msgid "Message sent using {{site_name}} contact form, "
-msgstr "Poruka poslana koristeći {{site_name}} formular za kontakt, "
+msgstr "Poruka poslata koristeći formular za kontakt na sajtu {{site_name}},"
msgid "Missing contact details for '"
-msgstr "Nedostaju detalji kontakta za '"
+msgstr "Nedostaju detalji za kontakt za '"
msgid "More about this authority"
-msgstr "Više o ovoj ustanovi"
+msgstr "Još o ovoj ustanovi"
msgid "More requests..."
-msgstr ""
+msgstr "Još zahteva..."
msgid "More similar requests"
-msgstr "Više sličnih zahteva"
+msgstr "Još sličnih zahteva"
msgid "More successful requests..."
-msgstr "Više uspešnih zahteva..."
+msgstr "Još uspešnih zahteva..."
msgid "My profile"
msgstr "Moj profil"
@@ -1400,58 +1343,58 @@ msgid "My requests"
msgstr "Moji zahtevi"
msgid "My wall"
-msgstr ""
+msgstr "Moj zid"
msgid "Name can't be blank"
msgstr "Ime ne može ostati prazno"
msgid "Name is already taken"
-msgstr "Ime se već koristi"
+msgstr "Ime je zauzeto"
msgid "New Freedom of Information requests"
-msgstr "Novi Zahtevi za slobodan pristup informacijama"
+msgstr "Novi Zahtevi za slobodan pristup informacijama od javnog značaja"
msgid "New censor rule"
-msgstr ""
+msgstr "Novo pravilo cenzure"
msgid "New e-mail:"
msgstr "Novi e-mail:"
msgid "New email doesn't look like a valid address"
-msgstr "Novi e-mail ne izgleda kao validna adresa"
+msgstr "Novi e-mail ne izgleda kao ispravna adresa"
msgid "New password:"
-msgstr "Novi password:"
+msgstr "Nova lozinka:"
msgid "New password: (again)"
-msgstr "Novi password: (ponovo)"
+msgstr "Nova lozinka: (ponovo)"
msgid "New response to '{{title}}'"
-msgstr ""
+msgstr "Novi odgovor na '{{title}}'"
msgid "New response to your FOI request - "
-msgstr "Novi odgovor na Vaš Zahtev o slobodnom pristupu informacijama - "
+msgstr "Novi odgovor na Vaš zahtev po Zakonu o slobodnom pristupu informacijama od javnog značaja - "
msgid "New response to your request"
msgstr "Novi odgovor na Vaš zahtev"
msgid "New response to {{law_used_short}} request"
-msgstr "Novi odgovor na {{law_used_short}} zahtev"
+msgstr "Novi odgovor na zahtev {{law_used_short}}"
msgid "New updates for the request '{{request_title}}'"
-msgstr "Nova ažuriranja za zahtev '{{request_title}}'"
+msgstr "Nove vesti za zahtev '{{request_title}}'"
msgid "Newest results first"
-msgstr "Najnoviji rezultati "
+msgstr "Najnoviji rezultati na vrh"
msgid "Next"
-msgstr "Slijedeći"
+msgstr "Sledeći"
msgid "Next, crop your photo &gt;&gt;"
-msgstr "Zatim, smanjite Vašu sliku &gt;&gt;"
+msgstr "Zatim, opsecite Vašu sliku &gt;&gt;"
msgid "No requests of this sort yet."
-msgstr "Nema zahteva ove vrste dosada."
+msgstr "Nema još ni jednog zahteva ove vrste."
msgid "No results found."
msgstr "Nema rezultata pretrage"
@@ -1460,22 +1403,22 @@ msgid "No similar requests found."
msgstr "Nisu nađeni slični zahtevi."
msgid "No tracked things found."
-msgstr ""
+msgstr "Nema praćenih stvari"
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
-msgstr "Niko nije podnio Zahtev za slobodan pristup informacijama {{public_body_name}} koristeći ovu stranicu."
+msgstr "Niko još nije podneo Zahtev za slobodan pristup informacijama od javnog značaja za {{public_body_name}} koristeći ovu stranicu."
msgid "None found."
-msgstr "Ništa nije nađeno."
+msgstr "Nije nađen nijedan."
msgid "None made."
-msgstr "Ništa podneseno."
+msgstr "Nije podnet nijedan."
msgid "Not a valid FOI request"
-msgstr ""
+msgstr "Neispravan zahtev"
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
-msgstr ""
+msgstr "Imajte u vidu da podnosilac zahteva neće biti obavešten o Vašem komentaru, zato što je zahtev objavljen od strane ustanove {{public_body_name}} u njegovo/njeno ime."
msgid "Now check your email!"
msgstr "Sada proverite Vaš e-mail!"
@@ -1484,37 +1427,37 @@ msgid "Now preview your annotation"
msgstr "Sada pregledajte Vašu napomenu"
msgid "Now preview your follow up"
-msgstr ""
+msgstr "Sada pregledajte Vašu reakciju"
msgid "Now preview your message asking for an internal review"
msgstr "Sada pregledajte Vašu poruku u kojoj tražite urgenciju "
msgid "Number of requests"
-msgstr ""
+msgstr "Broj zahteva"
msgid "OR remove the existing photo"
-msgstr "ILI odstrani postojeću sliku"
+msgstr "ILI odstranite postojeću sliku"
msgid "Offensive? Unsuitable?"
-msgstr ""
+msgstr "Uvredljivo? Neprikladno?"
msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
-msgstr "Žao nam je što je Vaš zahtev odbijen. Prijedlog za Vaše slijedeće akcije."
+msgstr "Žao nam je što je Vaš zahtev odbijen. Evo šta sada možete uraditi."
msgid "Old e-mail:"
msgstr "Stari e-mail:"
msgid "Old email address isn't the same as the address of the account you are logged in with"
-msgstr "Stara e-mail adresa nije ista kao adresa računa na koji ste prijavljeni"
+msgstr "Stara e-mail adresa nije ista kao adresa profila na koji ste prijavljeni"
msgid "Old email doesn't look like a valid address"
-msgstr "Stari e-mail ne izgleda kao validna adresa"
+msgstr "Stari e-mail ne izgleda kao ispravna adresa"
msgid "On this page"
msgstr "Na ovoj stranici"
msgid "One FOI request found"
-msgstr "Pronađen jedan Zahtev za slobodan pristup informacijama"
+msgstr "Pronađen jedan zahtev po ZOSPIOJ"
msgid "One person found"
msgstr "Jedna osoba pronađena"
@@ -1523,82 +1466,82 @@ msgid "One public authority found"
msgstr "Jedna javna ustanova pronađena"
msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
-msgstr ""
+msgstr "Upišite samo skraćenice koje se zaista koriste, inače ostavite prazno.Kratko i dugo ime se koriste u URL – ne brinite za kvarenje URL preimenovanjem, pošto se istorija koristi za preusmeravanje"
msgid "Only requests made using {{site_name}} are shown."
-msgstr "Samo zahtevi koji koriste {{site_name}} su prikazani."
+msgstr "Prikazani su samo zahtevi podneti pomoću {{site_name}}."
msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
-msgstr "Samo ustanova može odgovoriti na ovaj zahtev, i ne prepoznajemo adresu sa koje je poslan ovaj odgovor"
+msgstr "Samo ustanova kojoj je zahtev podnet može odgovoriti na ovaj zahtev - adresa sa koje je poslat ovaj odgovor nije prepoznata"
msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
-msgstr "Samo ustanova može odgovoriti na ovaj zahtev, ali ne sadrži adresu pošiljaoca"
+msgstr "Samo ustanova kojoj je zahtev podnet može odgovoriti na ovaj zahtev - ali poruka ne sadrži adresu pošiljaoca - \"From\""
msgid "Or search in their website for this information."
-msgstr "Ili tražite ovu informaciju na njihovoj web stranici."
+msgstr "Ili tražite ovu informaciju na njihovom web sajtu."
msgid "Original request sent"
-msgstr "Originalni zahtev poslan"
+msgstr "Originalni zahtev poslat"
msgid "Other:"
-msgstr "Drugo:"
+msgstr "Ostalo:"
msgid "Outgoing message"
-msgstr ""
+msgstr "Odlazna poruka"
msgid "OutgoingMessage|Body"
-msgstr "Odlazeća poruka|Tijelo"
+msgstr "OutgoingMessage|Telo"
msgid "OutgoingMessage|Last sent at"
-msgstr "Odlazeća poruka|Zadnja poslana u"
+msgstr "OutgoingMessage|Zadnja poslana u"
msgid "OutgoingMessage|Message type"
-msgstr "Odlazeća poruka|Tip poruke"
+msgstr "OutgoingMessage|Tip poruke"
msgid "OutgoingMessage|Prominence"
-msgstr ""
+msgstr "OutgoingMessage|Važnost"
msgid "OutgoingMessage|Prominence reason"
-msgstr ""
+msgstr "OutgoingMessage|Razlog važnosti"
msgid "OutgoingMessage|Status"
-msgstr "Odlazeća poruka|Status"
+msgstr "OutgoingMessage|Status"
msgid "OutgoingMessage|What doing"
-msgstr "Odlazeća poruka|Šta radi"
+msgstr "OutgoingMessage|Šta radi"
msgid "Partially successful."
-msgstr "Delimično uspješan."
+msgstr "Delimično uspešno."
msgid "Password is not correct"
-msgstr "Password nije ispravan"
+msgstr "Neispravna lozinka"
msgid "Password:"
-msgstr "Password:"
+msgstr "Lozinka:"
msgid "Password: (again)"
-msgstr "Password: (ponovo)"
+msgstr "Lozinka: (ponovo)"
msgid "Paste this link into emails, tweets, and anywhere else:"
-msgstr "Nalijepite ovaj link na e-mailove, tweets-e i na druga mjesta:"
+msgstr "Ubacite ovaj link na e-mailove, tvitove i na druga mjesta:"
msgid "People"
-msgstr ""
+msgstr "Ljudi"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Osobe {{start_count}} do {{end_count}} od ukupno {{total_count}}"
msgid "Percentage of requests that are overdue"
-msgstr ""
+msgstr "Procenat zahteva za koje odgovor kasni"
msgid "Percentage of total requests"
-msgstr ""
+msgstr "Procenat od ukupnog broja zahteva"
msgid "Photo of you:"
msgstr "Vaša slika:"
msgid "Plans and administrative measures that affect these matters"
-msgstr "Planovi i administrativne mjere koje utiču na ove predmete"
+msgstr "Planovi i administrativne mere koje utiču na ovu oblast"
msgid "Play the request categorisation game"
msgstr "Igrajte igru kategorizacije zahteva"
@@ -1610,13 +1553,13 @@ msgid "Please"
msgstr "Molimo"
msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Molimo da nas <a href=\"{{url}}\">kontaktirate</a> ako imate pitanja."
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
-msgstr "Molimo <a href=\"{{url}}\">kontaktirajte</a> nas kako bi to mogli popraviti."
+msgstr "Molimo <a href=\"{{url}}\">kontaktirajte</a> nas kako bismo mogli to da popravimo."
msgid "Please <strong>answer the question above</strong> so we know whether the "
-msgstr "Molimo <strong>odgovorite na pitanje iznad</strong> kako bi znali da li"
+msgstr "Molimo <strong>odgovorite na pitanje iznad</strong> kako bismo znali da li"
msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
msgstr ""
@@ -1624,42 +1567,42 @@ msgstr ""
" nas ako je bilo informacija u skorašnjim odgovorima."
msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
-msgstr "Molimo <strong>samo</strong> pišite poruke samo uvezi sa Vašim zahtevom {{request_link}}. Ako želite da tražite informacije koje nisu u Vašem originalnom zahtevu, onda <a href=\"{{new_request_link}}\">podnesite novi zahtev</a>."
+msgstr "Molimo pišite poruke <strong>samo</strong> uvezi sa Vašim zahtevom {{request_link}}. Ako želite da tražite informacije koje nisu u Vašem originalnom zahtevu, onda <a href=\"{{new_request_link}}\">podnesite novi zahtev</a>."
msgid "Please ask for environmental information only"
-msgstr "Molimo tražite samo informacije o okolišu"
+msgstr "Molimo tražite samo informacije o prirodnoj okolini"
msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
msgstr ""
-"Molimo proverite da li je URL (i.e. the long code of letters and numbers) kopiran\n"
-"ispravno sa Vašeg e-maila."
+"Molimo proverite da li je URL (duga šifra od slova i brojeva) kopiran\n"
+"ispravno iz Vašeg e-maila."
msgid "Please choose a file containing your photo."
-msgstr "Molimo izaberite datoteku koja sadržava Vašu sliku."
+msgstr "Molimo izaberite datoteku koja sadrži Vašu sliku."
msgid "Please choose a reason"
-msgstr ""
+msgstr "Molimo odaberite razlog"
msgid "Please choose what sort of reply you are making."
-msgstr "Molimo izaberite vrstu odgovora."
+msgstr "Molimo izaberite vrstu odgovora koji pripremate."
msgid "Please choose whether or not you got some of the information that you wanted."
-msgstr "Ako ste podnosioc zahteva, možete se <a href=\"%s\">prijaviti</a> da biste pogledali zahtev."
+msgstr "Molimo izaberite da li jeste ili niste dobili nešto od informacija koje ste tražili."
msgid "Please click on the link below to cancel or alter these emails."
-msgstr "Molimo kliknite na link ispod da biste poništili ili promijenili ove e-mailove"
+msgstr "Molimo kliknite na link ispod da biste otkazali ili promenili ove e-mailove"
msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
msgstr ""
"Molimo kliknite na link ispod da potvrdite da želite \n"
-"promeniti e-mail adresu koju koristite na {{site_name}}\n"
+"da promenite e-mail adresu koju koristite na sistemu {{site_name}}\n"
"sa {{old_email}} na {{new_email}}"
msgid "Please click on the link below to confirm your email address."
msgstr "Molimo kliknite na link ispod da biste potvrdili Vašu e-mail adresu."
msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
-msgstr "Molimo dodatno opišite o kakvom zahtevu je reč u predmetu. Nije potrebno reći da je Zahtev za slobodan pristup informacijama, tu ćemo stavku dodati svakako."
+msgstr "Molimo u predmetu zahteva opišite o čemu je zahtev. Nije potrebno reći da je zahtev po Zakonu o slobodnom pristupu informacijama od javnog značaja, to će svakako biti dodato."
msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
msgstr ""
@@ -1670,31 +1613,31 @@ msgid "Please enable \"cookies\" to carry on"
msgstr "Molimo aktivirajte cookies-e da biste nastavili"
msgid "Please enter a password"
-msgstr "Molimo unesite password"
+msgstr "Molimo unesite lozinku"
msgid "Please enter a subject"
-msgstr "Molimo unestite naslov"
+msgstr "Molimo unestite predmet"
msgid "Please enter a summary of your request"
msgstr "Molimo unesite sažetak Vašeg zahteva"
msgid "Please enter a valid email address"
-msgstr "Molimo unesite valjanu e-mail adresu"
+msgstr "Molimo unesite ispravnu e-mail adresu"
msgid "Please enter the message you want to send"
-msgstr "Molimo upišite poruku koju želite poslati"
+msgstr "Molimo unesite poruku koju želite da pošaljete"
msgid "Please enter the same password twice"
-msgstr "Molimo unesite isti password dva puta"
+msgstr "Molimo unesite istu lozinku dva puta"
msgid "Please enter your annotation"
-msgstr "Molimo unesite komentar"
+msgstr "Molimo unesite Vaš komentar"
msgid "Please enter your email address"
msgstr "Molimo unesite Vašu e-mail adresu"
msgid "Please enter your follow up message"
-msgstr "Molimo unesite Vašu prateću poruku"
+msgstr "Molimo unesite Vašu reakciju"
msgid "Please enter your letter requesting information"
msgstr "Molimo unesite Vaše pismo za zahtev informacija"
@@ -1703,7 +1646,7 @@ msgid "Please enter your name"
msgstr "Molimo unesite Vaše ime"
msgid "Please enter your name, not your email address, in the name field."
-msgstr "Molimo unesite Vaše ime, ne Vašu e-mail adresu, u polje."
+msgstr "Molimo unesite Vaše ime, a ne Vašu e-mail adresu, u polje imena."
msgid "Please enter your new email address"
msgstr "Molimo unesite Vašu novu e-mail adresu"
@@ -1712,7 +1655,7 @@ msgid "Please enter your old email address"
msgstr "Molimo unesite Vašu staru e-mail adresu"
msgid "Please enter your password"
-msgstr "Molimo unesite Vaš password"
+msgstr "Molimo unesite Vašu lozinku"
msgid "Please give details explaining why you want a review"
msgstr "Molimo objasnite zašto želite urgenciju"
@@ -1721,33 +1664,33 @@ msgid "Please keep it shorter than 500 characters"
msgstr "Molimo da ne koristite više od 500 znakova"
msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
-msgstr "Molimo da sažetak bude kratak, poput naslova e-maila. Radije koristite frazu nego punu rečenicu."
+msgstr "Molimo da sažetak bude kratak, slično predmetu e-mail poruka. Radije koristite frazu nego punu rečenicu."
msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
-msgstr ""
+msgstr "Molimo da zahtevate informacije iz jedne od sledećih kategorija, <strong>nemojte gubiti Vaše\\n vreme</strong> ni vreme zaposlenih u javnim ustanovama tražeći nevezane informacije."
msgid "Please pass this on to the person who conducts Freedom of Information reviews."
-msgstr ""
+msgstr "Molimo da prosledite ovo osobi koja vrši proveru rukovanja zahtevima za slobodan pristup informacijama od javnog značaja."
msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
msgstr ""
-"Molimo odaberite svaki od ovih zahteva naizmjenice, i <strong>obavestite sve</strong>\n"
-"da li su bili uspešni ili ne."
+"Molimo odaberite redom svaki od ovih zahteva, i <strong>obavestite javnost</strong>\n"
+"da li su zahtevi bili uspešni ili nisu."
msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
-msgstr "Molimo da se na dnu potpišete, ili izmijenite \"{{signoff}}\" potpis"
+msgstr "Molimo da se na dnu potpišete svojim imenom, ili izmenite \"{{signoff}}\" potpis"
msgid "Please sign in as "
msgstr "Molimo prijavite se kao "
msgid "Please sign in or make a new account."
-msgstr ""
+msgstr "Molimo prijavite se na sistem ili se registrujte."
msgid "Please type a message and/or choose a file containing your response."
msgstr "Molimo upišite poruku i/ili odaberite fajl koji sadrži vaš odgovor."
msgid "Please use this email address for all replies to this request:"
-msgstr "Molimo koristite ovu e-mail adresu za odgovore na ovaj zahtev:"
+msgstr "Molimo koristite ovu e-mail adresu za sve odgovore na ovaj zahtev:"
msgid "Please write a summary with some text in it"
msgstr "Molimo napišite sažetak sa nešto teksta"
@@ -1759,7 +1702,7 @@ msgid "Please write your annotation using a mixture of capital and lower case le
msgstr "Molimo napišite komentar koristeći velika i mala slova. Tako ćete olakšati čitanje drugima."
msgid "Please write your follow up message containing the necessary clarifications below."
-msgstr ""
+msgstr "Molimo napišite ispod reakciju na odgovor koji sadrži neophodna razjašnjenja."
msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
msgstr "Molimo napišite poruku koristeći velika i mala slova. Tako ćete olakšati čitanje drugima."
@@ -1768,46 +1711,46 @@ msgid "Point to <strong>related information</strong>, campaigns or forums which
msgstr "Ukažite na <strong>slične informacije</strong>, kampanje ili forume koji mogu biti korisni."
msgid "Possibly related requests:"
-msgstr "Vjerovatno srodni zahtevi:"
+msgstr "Mogući povezani zahtevi:"
msgid "Post annotation"
-msgstr "Postaj napomenu"
+msgstr "Pošalji napomenu"
msgid "Post redirect"
-msgstr ""
+msgstr "Preusmerenje slanja"
msgid "PostRedirect|Circumstance"
-msgstr ""
+msgstr "PostRedirect|Okolnosti"
msgid "PostRedirect|Email token"
-msgstr ""
+msgstr "PostRedirect|Email token"
msgid "PostRedirect|Post params yaml"
-msgstr ""
+msgstr "PostRedirect|YAML post parametara"
msgid "PostRedirect|Reason params yaml"
-msgstr ""
+msgstr "PostRedirect|YAML parametara razloga"
msgid "PostRedirect|Token"
-msgstr ""
+msgstr "PostRedirect|Token"
msgid "PostRedirect|Uri"
-msgstr ""
+msgstr "PostRedirect|Uri"
msgid "Posted on {{date}} by {{author}}"
-msgstr "Poslano na datum {{date}} od strane {{author}}"
+msgstr "Objavljeno {{date}} od strane {{author}}"
msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
-msgstr ""
+msgstr "Na bazi <a href=\"http://www.alaveteli.org/\">Alaveteli</a> proizvoda"
msgid "Prev"
-msgstr "Prethodna"
+msgstr "Preth"
msgid "Preview follow up to '"
-msgstr ""
+msgstr "Pregledajte reakcije do '"
msgid "Preview new annotation on '{{info_request_title}}'"
-msgstr "Pregledaj novu napomenu za '{{info_request_title}}'"
+msgstr "Pregledajte novu napomenu o '{{info_request_title}}'"
msgid "Preview your annotation"
msgstr "Pregledajte Vašu napomenu"
@@ -1819,19 +1762,19 @@ msgid "Preview your public request"
msgstr "Pregledajte Vaš javni zahtev"
msgid "Profile photo"
-msgstr ""
+msgstr "Slika u profilu"
msgid "ProfilePhoto|Data"
-msgstr "Slika na profilu|Podaci"
+msgstr "ProfilePhoto|Podaci"
msgid "ProfilePhoto|Draft"
-msgstr "Slika na profilu|Skica"
+msgstr "ProfilePhoto|Skica"
msgid "Public Bodies"
-msgstr ""
+msgstr "Javne ustanove"
msgid "Public Body Statistics"
-msgstr ""
+msgstr "Statistike javnih ustanova"
msgid "Public authorities"
msgstr "Javne ustanove"
@@ -1840,109 +1783,112 @@ msgid "Public authorities - {{description}}"
msgstr "Javne ustanove - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Javne ustanove {{start_count}} do {{end_count}} od ukupno {{total_count}}"
msgid "Public authority – {{name}}"
-msgstr ""
+msgstr "Ustanova – {{name}}"
msgid "Public bodies that most frequently replied with \"Not Held\""
-msgstr ""
+msgstr "Javne ustanove koje su najčešće odgovorile \"Nemamo\""
msgid "Public bodies with most overdue requests"
-msgstr ""
+msgstr "Javne ustanove sa najviše zakasnelih odgovora"
msgid "Public bodies with the fewest successful requests"
-msgstr ""
+msgstr "Javne ustaove sa najmanje uspešnih odgovora"
msgid "Public bodies with the most requests"
-msgstr ""
+msgstr "Javne ustanove sa najviše zahteva"
msgid "Public bodies with the most successful requests"
-msgstr ""
+msgstr "Javne ustanove sa najviše uspešnih zahteva"
msgid "Public body"
-msgstr ""
+msgstr "Javna ustanova"
msgid "Public notes"
-msgstr ""
+msgstr "Javne beleške"
msgid "Public page"
-msgstr ""
+msgstr "Javna strana"
msgid "Public page not available"
-msgstr ""
+msgstr "Javna strana nije raspoloživa"
msgid "PublicBody|Api key"
-msgstr ""
+msgstr "PublicBody|API ključ"
msgid "PublicBody|Disclosure log"
-msgstr ""
+msgstr "PublicBody|Dnevnik obaveštenja"
msgid "PublicBody|First letter"
-msgstr "Javno tijelo|Početno slovo"
+msgstr "PublicBody|Početno slovo"
msgid "PublicBody|Home page"
-msgstr "Javno tijelo|Home page"
+msgstr "PublicBody|Početna strana"
msgid "PublicBody|Info requests count"
-msgstr ""
+msgstr "PublicBody|Broj zahteva za informacijama"
msgid "PublicBody|Info requests not held count"
-msgstr ""
+msgstr "PublicBody|Broj odgovora \"nemamo\""
msgid "PublicBody|Info requests overdue count"
-msgstr ""
+msgstr "PublicBody|Broj zakasnelih odgovora"
msgid "PublicBody|Info requests successful count"
+msgstr "PublicBody|Broj uspešnih odgovora"
+
+msgid "PublicBody|Info requests visible classified count"
msgstr ""
msgid "PublicBody|Last edit comment"
-msgstr "Javno tijelo|Zadnji uređeni komentar"
+msgstr "PublicBody|Komentar poslednje izmene"
msgid "PublicBody|Last edit editor"
-msgstr "Javno tijelo|Zadnji uređivač"
+msgstr "PublicBody|Autor poslednje izmene"
msgid "PublicBody|Name"
-msgstr "Javno tijelo | Ime"
+msgstr "PublicBody|Ime"
msgid "PublicBody|Notes"
-msgstr "Javno tijelo|Bilješke"
+msgstr "PublicBody|Beleške"
msgid "PublicBody|Publication scheme"
-msgstr "Javno tijelo|Nacrt publikacije"
+msgstr "PublicBody|Mehanizam objavljivanja"
msgid "PublicBody|Request email"
-msgstr "Javno tijelo|"
+msgstr "PublicBody|Email adresa"
msgid "PublicBody|Short name"
-msgstr "Javno tijelo|Nadimak"
+msgstr "PublicBody|Kratko ime"
msgid "PublicBody|Url name"
-msgstr "Javno tijelo|Url ime"
+msgstr "PublicBody|Url ime"
msgid "PublicBody|Version"
-msgstr "Javno tijelo|Verzija"
+msgstr "PublicBody|Verzija"
msgid "Publication scheme"
-msgstr "Nacrt publikacije"
+msgstr "Mehanizam objavljivanja"
msgid "Publication scheme URL"
-msgstr ""
+msgstr "URL mehanizma objavljivanja"
msgid "Purge request"
-msgstr ""
+msgstr "Zahtev za čišćenje"
msgid "PurgeRequest|Model"
-msgstr ""
+msgstr "PurgeRequest|Model"
msgid "PurgeRequest|Url"
-msgstr ""
+msgstr "PurgeRequest|Url"
msgid "RSS feed"
-msgstr ""
+msgstr "RSS feed"
msgid "RSS feed of updates"
-msgstr ""
+msgstr "RSS feed novosti"
msgid "Re-edit this annotation"
msgstr "Ponovo urediti ovu napomenu"
@@ -1951,81 +1897,81 @@ msgid "Re-edit this message"
msgstr "Ponovo urediti ovu poruku"
msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
-msgstr ""
+msgstr "Pročitajte o <a href=\"{{advanced_search_url}}\">operatorima za napredno pretraživanje</a>, kao što su džoker znaci i blizina."
msgid "Read blog"
-msgstr "Čitaj blog"
+msgstr "Čitajte blog"
msgid "Received an error message, such as delivery failure."
-msgstr "Dobijena poruka o pogrešci, poput neuspješnog prijema poruke."
+msgstr "Dobijena poruka o grešci, npr. neuspeh u isporuci."
msgid "Recently described results first"
-msgstr "Nedavno opisani rezultati "
+msgstr "Rezultati koji su skoro komentarisani na vrhu"
msgid "Refused."
msgstr "Odbijen."
msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
msgstr ""
-"Zapamti nalog</label> (Omogućava da ostanete duže prijavljeni;\n"
+"Zapamti prijavu na sistem</label> (Omogućava da ostanete duže prijavljeni;\n"
" Ovu opciju nemojte koristiti na javnim računarima) "
msgid "Report abuse"
-msgstr "Prijavi zloupotrebu"
+msgstr "Prijavite zloupotrebu"
msgid "Report an offensive or unsuitable request"
-msgstr ""
+msgstr "Prijavite uvredljiv ili neprikladan zahtev"
msgid "Report request"
-msgstr ""
+msgstr "Prijavite zahtev"
msgid "Report this request"
-msgstr ""
+msgstr "Prijavite ova zahtev"
msgid "Reported for administrator attention."
-msgstr ""
+msgstr "Prijavljeno administratorima."
msgid "Request an internal review"
-msgstr ""
+msgstr "Zatražite urgenciju"
msgid "Request an internal review from {{person_or_body}}"
-msgstr "Zatražiti urgenciju od strane {{person_or_body}}"
+msgstr "Zatražite urgenciju od strane {{person_or_body}}"
msgid "Request email"
-msgstr ""
+msgstr "Zahtevajte email"
msgid "Request has been removed"
msgstr "Zahtev je uklonjen"
msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr "Zahtev poslan {{public_body_name}} od strane {{info_request_user}} na datum {{date}}."
+msgstr "Zahtev je poslat na adresu {{public_body_name}} od strane korisnika {{info_request_user}} na dan {{date}}."
msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
-msgstr "Zahtev za {{public_body_name}} od strane {{info_request_user}}. Prokomentarisan od strane {{event_comment_user}} na datum {{date}}."
+msgstr "Zahtev za {{public_body_name}} poslat od strane korisnika {{info_request_user}}. Prokomentarisan od strane korisnika {{event_comment_user}} na dan {{date}}."
msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
-msgstr "Traženo od {{public_body_name}} od strane {{info_request_user}} na datum {{date}}"
+msgstr "Zatraženo od {{public_body_name}} od strane korisnika {{info_request_user}} na dan {{date}}"
msgid "Requested on {{date}}"
-msgstr "Traženo na datum {{date}}"
+msgstr "Traženo na dan {{date}}"
msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
-msgstr ""
+msgstr "Zahtevi se smatraju zakasnelim ako su u stanjima \"Kasni\" i \"Veoma kasni\""
msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
-msgstr ""
+msgstr "Zahtevi se smatraju uspešnim ako su klasifikovani kao \"Uspešan\" ili \"Delimično uspešan\"."
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
-msgstr ""
+msgstr "Zahtevi za lične podatke i zahtevi koji se smatraju zloupotrebama prava se ne smatraju važećim u smislu Zakona o slobodnom pristupu informacijama od javnog značaja (<a href=\"/help/about\">više informacija možete dobiti ovde</a>)."
msgid "Requests or responses matching your saved search"
-msgstr "Zahtevi ili odgovori koji odgovaraju Vašoj spašenoj pretrazi"
+msgstr "Zahtevi ili odgovori koji odgovaraju Vašem snimljenom upitu"
msgid "Requests similar to '{{request_title}}'"
-msgstr ""
+msgstr "Zahtevi slični '{{request_title}}'"
msgid "Requests similar to '{{request_title}}' (page {{page}})"
-msgstr ""
+msgstr "Zahtevi slični '{{request_title}}' (strana {{page}})"
msgid "Respond by email"
msgstr "Odgovoriti e-mailom"
@@ -2034,7 +1980,7 @@ msgid "Respond to request"
msgstr "Odgovoriti na zahtev"
msgid "Respond to the FOI request"
-msgstr "Odgovoriti na Zahtev za slobodan pristup informacijama"
+msgstr "Odgovoriti na zahtev po ZOSPIOJ"
msgid "Respond using the web"
msgstr "Odgovoriti preko web-a"
@@ -2046,10 +1992,10 @@ msgid "Response from a public authority"
msgstr "Odgovor od javne ustanove"
msgid "Response to '{{title}}'"
-msgstr ""
+msgstr "Odgovor na '{{title}}'"
msgid "Response to this request is <strong>delayed</strong>."
-msgstr "Odgovor na ovaj zahtev je <strong>odgođen</strong>."
+msgstr "Odgovor na ovaj zahtev je <strong>odložen</strong>."
msgid "Response to this request is <strong>long overdue</strong>."
msgstr "Odgovor na ovaj zahtev <strong>kasni</strong>."
@@ -2064,7 +2010,7 @@ msgid "Restrict to"
msgstr "Ograničiti na"
msgid "Results page {{page_number}}"
-msgstr "Rezultati na stranici {{page_number}}"
+msgstr "Stranica sa rezultatima br. {{page_number}}"
msgid "Save"
msgstr "Sačuvaj"
@@ -2073,43 +2019,40 @@ msgid "Search"
msgstr "Pretraži"
msgid "Search Freedom of Information requests, public authorities and users"
-msgstr "Pretraži Zahteve za slobodan pristup informacijama, javne ustanove i korisnici"
+msgstr "Pretraži Zahteve za slobodan pristup informacijama od javnog značaja, javne ustanove i korisnika"
msgid "Search contributions by this person"
msgstr "Pretraži doprinose od strane ove osobe"
msgid "Search for words in:"
-msgstr ""
+msgstr "Traži reči u:"
msgid "Search in"
-msgstr "Pretraži u"
+msgstr "Traži u"
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr ""
-"Traži preko<br/>\n"
-" <strong>{{number_of_requests}} zahteva</strong> <span>i</span><br/>\n"
-" <strong>{{number_of_authorities}} ustanova</strong>"
+msgstr "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
msgid "Search queries"
-msgstr ""
+msgstr "Upiti za pretragu"
msgid "Search results"
msgstr "Rezultati pretrage"
msgid "Search the site to find what you were looking for."
-msgstr "Pretražite web stranicu da pronađete što ste tražili."
+msgstr "Koristite pretragu sajta da pronađete ono što tražite"
msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Tražite među {{count}} zahtevom za slobodni pristup informacijama od javnog značaja za {{public_body_name}}"
+msgstr[1] "Tražite među {{count}} zahteva za slobodni pristup informacijama od javnog značaja za {{public_body_name}}"
+msgstr[2] "Tražite među {{count}} zahteva za slobodni pristup informacijama od javnog značaja za {{public_body_name}}"
msgid "Search your contributions"
-msgstr "Pretražite Vaše doprinose"
+msgstr "Tražite Vaše doprinose"
msgid "See bounce message"
-msgstr ""
+msgstr "Postavite poruku u slučaju odbijanja"
msgid "Select one to see more information about the authority."
msgstr "Odaberite jedan da biste videli više informacija o ustanovi."
@@ -2118,40 +2061,40 @@ msgid "Select the authority to write to"
msgstr "Odaberite ustanovu kojoj ćete pisati"
msgid "Send a followup"
-msgstr ""
+msgstr "Pošaljite reakciju"
msgid "Send a message to "
msgstr "Pošalji poruku za "
msgid "Send a public follow up message to {{person_or_body}}"
-msgstr ""
+msgstr "Pošaljite javnu reakciju za {{person_or_body}}"
msgid "Send a public reply to {{person_or_body}}"
-msgstr "Poslati javni odgovor za {{person_or_body}}"
+msgstr "Pošaljite javni odgovor za {{person_or_body}}"
msgid "Send follow up to '{{title}}'"
-msgstr ""
+msgstr "Pošalji reakciju na '{{title}}'"
msgid "Send message"
msgstr "Pošalji poruku"
msgid "Send message to "
-msgstr "Pošalji poruku "
+msgstr "Pošalji poruku za"
msgid "Send request"
msgstr "Pošalji zahtev"
msgid "Set your profile photo"
-msgstr "Podesiti sliku na Vašem profilu"
+msgstr "Podesite sliku na Vašem profilu"
msgid "Short name"
-msgstr ""
+msgstr "Kratko ime"
msgid "Short name is already taken"
-msgstr "Nadimak se već koristi"
+msgstr "Kratko ime je zauzeto"
msgid "Show most relevant results first"
-msgstr "Prikaži najreleveantnije rezultate "
+msgstr "Prikaži najrelevantnije rezultate na vrhu"
msgid "Show only..."
msgstr "Prikaži samo..."
@@ -2163,7 +2106,7 @@ msgid "Sign in"
msgstr "Prijavite se"
msgid "Sign in or make a new account"
-msgstr "Prijavite se ili napravite novi korisnički račun"
+msgstr "Prijavite se ili napravite novi korisnički profil"
msgid "Sign in or sign up"
msgstr "Prijavite se ili Registrujte se"
@@ -2181,37 +2124,37 @@ msgid "Simple search"
msgstr "Jednostavna pretraga"
msgid "Some notes have been added to your FOI request - "
-msgstr "Bilješke su dodate na Vaš Zahtev o slobodnom pristupu informacijama - "
+msgstr "Beleške su dodate na Vaš zahtev po ZOSPIOJ - "
msgid "Some of the information requested has been received"
-msgstr "Dio traženih informacija je dobijen"
+msgstr "Deo traženih informacija je primljen"
msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
msgstr ""
"Neki od podnosioca zahteva nas nisu obavestili da li su njihovi zahtevi bili\n"
-"uspešni ili ne. Trebamo <strong>Vašu</strong> pomoć &ndash;\n"
-"odaberite jedan od ovih zahteva, pročitajte ga, i obavestite sve da li su\n"
+"uspešni ili ne. Potrebna nam je <strong>Vaša</strong> pomoć &ndash;\n"
+"odaberite jedan od ovih zahteva, pročitajte ga - i obavestite sve da li su\n"
"informacije dobijene ili ne. Svi će Vam biti veoma zahvalni."
msgid "Somebody added a note to your FOI request - "
-msgstr "Neko je dodao komentar na Vaš Zahtev za slobodan pristup informacijama."
+msgstr "Neko je dodao komentar na Vaš zahtev po ZOSPIOJ."
msgid "Someone has updated the status of your request"
-msgstr ""
+msgstr "Neko je promenio status Vašeg zahteva"
msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
msgstr ""
-"Neko je, možda ste to Vi, pokušao da promijeni svoju e-mail adresu na\n"
-"{{site_name}} sa {{old_email}} na {{new_email}}."
+"Neko je, možda ste to Vi, pokušao da promeni svoju registrovanu e-mail adresu na\n"
+"sistemu {{site_name}} sa {{old_email}} na {{new_email}}."
msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
-msgstr ""
+msgstr "Izvinite - ne možete odogovoriti na ovaj zahtev pomoću sistema {{site_name}}, zato što je ovo kopija zahteva sa {{link_to_original_request}}."
msgid "Sorry, but only {{user_name}} is allowed to do that."
-msgstr "Žalimo, ali samo {{user_name}} može raditi to."
+msgstr "Žalimo, ali samo korisnik {{user_name}} može raditi to."
msgid "Sorry, there was a problem processing this page"
-msgstr "Žalimo, postoji problem u procesuiranju stranice"
+msgstr "Žalimo, došlo je do problema u obradi ove stranice"
msgid "Sorry, we couldn't find that page"
msgstr "Žalimo, nismo mogli pronaći tu stranicu"
@@ -2226,155 +2169,156 @@ msgid "Start your own blog"
msgstr "Započnite Vaš blog"
msgid "Stay up to date"
-msgstr ""
+msgstr "Budite stalno informisani"
msgid "Still awaiting an <strong>internal review</strong>"
-msgstr "I dalje čeka <strong>internal review</strong>"
+msgstr "I dalje čeka na <strong>urgenciju</strong>"
msgid "Subject"
-msgstr ""
+msgstr "Predmet"
msgid "Subject:"
-msgstr "Tema:"
+msgstr "Predmet:"
msgid "Submit"
-msgstr "Predaj"
+msgstr "Pošalji"
msgid "Submit status"
msgstr "Pošalji status"
msgid "Submit status and send message"
-msgstr ""
+msgstr "Upiši status i pošalji poruku"
msgid "Subscribe to blog"
msgstr "Pretplatiti se na blog"
msgid "Successful Freedom of Information requests"
-msgstr "Uspešni Zahtevi za slobodan pristup informacijama"
+msgstr "Uspešni Zahtevi za slobodan pristup informacijama od javnog značaja"
msgid "Successful."
msgstr "Uspešan."
msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
-msgstr "Predložite kako ponosioc zahteva može pronaći <strong>ostatak informacije</strong>."
+msgstr "Predložite kako ponosilac zahteva može pronaći <strong>ostatak informacije</strong>."
msgid "Summary:"
msgstr "Sažetak:"
msgid "Table of statuses"
-msgstr "Pregled statusa"
+msgstr "Tabela statusa"
msgid "Table of varieties"
msgstr "Tabela vrsta"
msgid "Tags"
-msgstr ""
+msgstr "Privesci"
msgid "Tags (separated by a space):"
-msgstr ""
+msgstr "Privesci (razdvojeni razmakom):"
msgid "Tags:"
-msgstr "Označeni:"
+msgstr "Privesci:"
msgid "Technical details"
msgstr "Tehnički detalji"
msgid "Thank you for helping us keep the site tidy!"
-msgstr "Hvala što nam pomažete da održavamo ovu web stranicu urednom!"
+msgstr "Hvala što nam pomažete da održavamo ovaj sistem u urednom stanju!"
msgid "Thank you for making an annotation!"
-msgstr "Hvala što ste napravili napomenu!"
+msgstr "Hvala što ste upisali napomenu!"
msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
-msgstr "Hvala na Vašem odgovoru na ovaj Zahtev za slobodan pristup informacijama! Vaš odgovor je objavljen ispod, i link na vaš odgovor je poslan putem e-maila za"
+msgstr "Hvala na Vašem odgovoru na ovaj Zahtev za slobodan pristup informacijama od javnog značaja! Vaš odgovor je objavljen ispod i link na Vaš odgovor je poslat putem e-mail poruke za"
msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
-msgstr "Hvala na ažuriranju statusa zahteva '<a href=\"{{url}}\">{{info_request_title}}</a>'. Postoje drugi zahtevi ispod koje možete klasificirati."
+msgstr "Hvala na ažuriranju statusa zahteva '<a href=\"{{url}}\">{{info_request_title}}</a>'. Postoji još nekoliko zahteva ispod koje takođe možete klasifikovati."
msgid "Thank you for updating this request!"
-msgstr "Hvala na ažuriranju zahteva!"
+msgstr "Hvala na ažuriranju ovog zahteva!"
msgid "Thank you for updating your profile photo"
msgstr "Hvala što ste ažurirali sliku na Vašem profilu"
msgid "Thank you! We'll look into what happened and try and fix it up."
-msgstr ""
+msgstr "Hvala! Pogledaćemo šta se desilo i pokušati da to ispravimo."
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Hvala na pomoći - Vaš rad će svima olakšati pronalaženje pozitivnih\n"
-"odgovora, i možda čak dozvoliti nama da pravimo rangliste..."
+"odgovora - i možda čak dozvoliti nama da pravimo rangliste institucija..."
msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
msgstr ""
"Hvala - ovo će pomoći drugima da pronađu korisne stvari. Mi ćemo Vas\n"
-" takođe, ako vam zatreba, savetovati o tome šta da radite dalje sa Vašim\n"
-" zahtevima."
+"takođe, ako Vam zatreba, savetovati o tome šta da radite dalje sa Vašim\n"
+"zahtevima."
msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
msgstr ""
"Hvala Vam što pomažete da sve bude<strong>čitko i organizovano</strong>.\n"
-" Mi ćemo Vas takođe, ako vam zatreba, posavetovati o tome šta da dalje radite sa svakim od Vaših\n"
-" zahteva."
+"Mi ćemo Vas takođe, ako Vam zatreba, posavetovati o tome šta da dalje radite sa svakim od Vaših\n"
+"zahteva."
msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
-msgstr "E-mail adresa ne izgleda validna. Molimo provjerite da li ste je ukucali pravilno."
+msgstr "E-mail adresa ne izgleda ispravna. Molimo proverite da li ste je ispravno ukucali."
msgid "The <strong>review has finished</strong> and overall:"
-msgstr "Pregled <strong>je završen</strong> i sveukupno:"
+msgstr "Pregled <strong>je završen</strong> i sve u svemu:"
msgid "The Freedom of Information Act <strong>does not apply</strong> to"
-msgstr "Zakon o slobodnom pristupu informacijama <strong>se ne odnosi</strong> na"
+msgstr "Zakon o slobodnom pristupu informacijama od javnog značaja <strong>se ne odnosi</strong> na"
msgid "The accounts have been left as they previously were."
-msgstr "Korisnički računi nisu menjani"
+msgstr "Korisnički profili nisu menjani"
msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
-msgstr "Ustanova <strong>ne posjeduje</strong> informacije <small>(možda mogu reći ko posjeduje)"
+msgstr "Ustanova <strong>ne poseduje</strong> informacije <small>(ali oni možda mogu reći ko ih poseduje)"
msgid "The authority only has a <strong>paper copy</strong> of the information."
-msgstr "Ustanova ima samo <strong>štampanu kopiju</strong> informacije."
+msgstr "Ustanova ima samo <strong>štampani oblik</strong> informacije."
msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
msgstr ""
-"Iz ustanove kažu da im <strong>treba poštanska\n"
-" adresa</strong>, ne samo e-mail, da bi Zahtev za slobodan pristup informacijama bio valjan"
+"Iz ustanove kažu da im <strong>je potrebna i poštanska\n"
+"adresa</strong>, ne samo e-mail, da bi Zahtev za slobodan \n"
+"pristup informacijama od javnog značaja bio valjan"
msgid "The authority would like to / has <strong>responded by post</strong> to this request."
-msgstr "Ustanova bi željela / je <strong>odgovorila poštom</strong> na ovaj zahtev."
+msgstr "Ustanova bi htela da odgovori / je odgovorila <strong>poštom</strong> na ovaj zahtev."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "Klasifikaciju zahteva (npr. da li je uspešan ili ne) rade korisnici i administratori sistma, što znači da je podložna greškama"
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
-msgstr ""
+msgstr "Poruka koju ste, u ime ustanove '{{public_body}}', poslali podnosiocu\\n'{{user}}' da odgovorite na zahtev vezan za {{law_used_short}}\\n nije isporučena."
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
-msgstr ""
+msgstr "Prikazani histogrami grešaka su na bazi intervala poverenja od 95% c za pretpostavljenu proporciju (tj. onu koja bi se dobila za beskonačan broj poruka poslat toj ustanovi). Drugim rečima, uzorak koji se uzima su svi sadašnji i budući zahtevi ustanovi kroz ovaj sajt, a ne svi zahtevi koji su bili podneti bilo kojim metodom.."
msgid "The page doesn't exist. Things you can try now:"
-msgstr "Stranica ne postoji. Stvari koje možete probati sada:"
+msgstr "Stranica ne postoji. Stvari koje sada možete probati:"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Procenti su sračunati na bazi ukupnog broja zahteva, što uključuje i neispravne zahteve; ovo je poznat problem koji će biti ispravljen u budućim verzijama."
msgid "The public authority does not have the information requested"
-msgstr "Javna ustanova ne posjeduje tražene informacije"
+msgstr "Ova javna ustanova ne poseduje tražene informacije"
msgid "The public authority would like part of the request explained"
-msgstr "Javna ustanova bi htjela objašnjenje dijela zahteva"
+msgstr "Ova javna ustanova bi htela razjašnjenje dela zahteva"
msgid "The public authority would like to / has responded by post"
-msgstr "Javna ustanova bi htjela odgovoriti ili je već odgovorila poštom"
+msgstr "Ova javna ustanova bi htela odgovoriti / već je odgovorila poštom"
msgid "The request has been <strong>refused</strong>"
msgstr "Zahtev je <strong>odbijen</strong>"
msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
-msgstr "Zahtev je ažuriran otkako ste prvi put učitali ovu stranicu. Molimo provjerite nove dolazeće poruke ispod i pokušajte ponovo. "
+msgstr "Zahtev je ažuriran otkako ste prvi put učitali ovu stranicu. Molimo proverite nove primljene poruke ispod i pokušajte ponovo. "
msgid "The request is <strong>waiting for clarification</strong>."
-msgstr "Zahtev <strong>čeka na objašnjenje</strong>."
+msgstr "Zahtev <strong>čeka na razjašnjenje</strong>."
msgid "The request was <strong>partially successful</strong>."
msgstr "Zahtev je <strong>delimično uspešan</strong>."
@@ -2391,17 +2335,17 @@ msgstr "Zahtev je odbijen od strane javne ustanove"
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
msgstr ""
"Zahtev koji ste pokušali pregledati je uklonjen. Postoje\n"
-"razni razlozi radi kojih smo to mogli uraditi, žao nam je ali ne možemo biti precizniji po tom pitanju. Molimo <a\n"
+"razni razlozi zbog kojih smo to mogli uraditi - žao nam je, ali ne možemo biti precizniji po tom pitanju. Molimo <a\n"
" href=\"{{url}}\">kontaktirajte nas</a> ako imate pitanja."
msgid "The requester has abandoned this request for some reason"
-msgstr "Podnosioc je odustao od ovog zahteva iz nekog razloga"
+msgstr "Podnosilac je odustao od ovog zahteva iz nekog razloga"
msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-"Odgovor na Vaš zahtev je <strong>odgođen</strong>. Možete reći da je, \n"
+"Odgovor na Vaš zahtev <strong>kasni</strong>. Možete reći da je, \n"
" po zakonu, ustanova trebala odgovoriti\n"
-" <strong>brzo</strong> i"
+" <strong>bez odlaganja</strong> i"
msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
@@ -2410,40 +2354,40 @@ msgstr ""
" do sada"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
-msgstr "Indeks za pretragu je trenutno isključen, ne možemo prikazati Zahteve za slobodan pristup informacijama podnesene ovoj ustanovi."
+msgstr "Indeks za pretragu je trenutno isključen, tako da ne možemo prikazati Zahteve za slobodan pristup informacijama od javnog značaja podnete ovoj ustanovi."
msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
-msgstr "Indeks za pretragu je trenutno isključen, radi toga ne možemo prikazati Zahteve za slobodan pristup informacijama koje je ova osoba napravila."
+msgstr "Indeks za pretragu je trenutno isključen, pa zbog toga ne možemo prikazati Zahteve za slobodan pristup informacijama od javnog značaja koje je ova osoba podnela."
msgid "The {{site_name}} team."
-msgstr ""
+msgstr "Tim sistema {{site_name}}."
msgid "Then you can cancel the alert."
-msgstr "Tada možete poništiti upozorenje."
+msgstr "Tada možete opozvati upozorenje."
msgid "Then you can cancel the alerts."
-msgstr "Tada možete poništiti upozorenja."
+msgstr "Tada možete opozvati upozorenja."
msgid "Then you can change your email address used on {{site_name}}"
msgstr "Tada možete promeniti Vašu e-mail adresu korištenu na {{site_name}}"
msgid "Then you can change your password on {{site_name}}"
-msgstr "Tada možete promeniti Vaš password na {{site_name}}"
+msgstr "Tada možete promeniti Vašu lozinku na {{site_name}}"
msgid "Then you can classify the FOI response you have got from "
-msgstr "Tada možete klasificirati ZOSPI odgovor koji ste dobili od"
+msgstr "Tada možete klasifikovati ZOSPIOJ odgovor koji ste dobili od"
msgid "Then you can download a zip file of {{info_request_title}}."
-msgstr "Tada možete preuzeti zipovano {{info_request_title}}."
+msgstr "Tada možete preuzeti {{info_request_title}} u formi zip arhive."
msgid "Then you can log into the administrative interface"
-msgstr ""
+msgstr "Onda se možete prijaviti na administrativnu aplikaciju"
msgid "Then you can play the request categorisation game."
msgstr "Tada možete igrati igru kategorizacije zatjeva."
msgid "Then you can report the request '{{title}}'"
-msgstr ""
+msgstr "Onda možete prijaviti zahtev '{{title}}'"
msgid "Then you can send a message to "
msgstr "Tada možete poslati poruku za "
@@ -2455,85 +2399,85 @@ msgid "Then you can update the status of your request to "
msgstr "Tada možete ažurirati status vašeg zahteva prema"
msgid "Then you can upload an FOI response. "
-msgstr "Tada možete postaviti odgovor na Zahtev o slobodnom pristupu informacijama."
+msgstr "Tada možete učitati odgovor na zahtev po ZOSPIOJ."
msgid "Then you can write follow up message to "
-msgstr "Tada možete napisati prateću poruku za "
+msgstr "Tada možete napisati reakciju za "
msgid "Then you can write your reply to "
msgstr "Tada možete napisati Vaš odgovor za"
msgid "Then you will be following all new FOI requests."
-msgstr ""
+msgstr "Onda ćete pratiti sve nove zahteve za slobodan pristup informacijama od javnog značaja pomoću e-mail biltena."
msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
-msgstr ""
+msgstr "Onda ćete biti obavešteni e-mail biltenom kad god korisnik '{{user_name}}' podnese zahtev ili dobije odgovor."
msgid "Then you will be notified whenever a new request or response matches your search."
-msgstr ""
+msgstr "Onda ćete biti obavešteni email biltenom kad god novi zahtev ili odgovor bude odgovarao uslovima vašeg upita."
msgid "Then you will be notified whenever an FOI request succeeds."
-msgstr ""
+msgstr "Onda ćete biti obavešteni e-mail biltenom kad god neki zahtev uspe."
msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
-msgstr ""
+msgstr "Onda ćete biti obavešteni e-mail biltenom kad god neko podnese zahtev ili dobije odgovor od ustanove '{{public_body_name}}'."
msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
-msgstr ""
+msgstr "Onda ćete biti obavešteni e-mail biltenom kada god zahtev '{{request_title}}' bude promenjen."
msgid "Then you'll be allowed to send FOI requests."
-msgstr "Tada će Vam biti dozvoljeno da šaljete Zahteve za slobodan pristup informacijama "
+msgstr "Tada će Vam biti dozvoljeno da šaljete Zahteve za slobodan pristup informacijama od javnog značaja"
msgid "Then your FOI request to {{public_body_name}} will be sent."
-msgstr "Tada će Vaši Zahtevi za slobodan pristup informacijama za {{public_body_name}} biti poslani."
+msgstr "Tada će Vaš zahtev za pristup informacijama od javnog značaja za {{public_body_name}} biti poslati."
msgid "Then your annotation to {{info_request_title}} will be posted."
-msgstr "Tada će Vaša napomena za {{info_request_title}} biti postavljena."
+msgstr "Tada će Vaša napomena za {{info_request_title}} biti objavljena."
msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
msgstr "Postoje {{count}} nove napomene na Vašem {{info_request}} zahtevu. Pratite ovaj link da pogledate šta je napisano."
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Postoji <strong>više od jedne osobe</strong> koja koristi ovaj sistem i ima ovo ime.\\n Jedna od njih je prikazana ispod, možda ste mislili na neku drugu:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
-msgstr ""
+msgstr "Postoji ograničenje broja zahteva koje možete podneti u jednom danu, pošto želimo da izbegnemo da javne ustanove budu bombardovane velikim brojem neprikladnih zahteva. Ako mislite da u Vašem slučaju ovo ograničenje treba ukloniti, molimo <a href='{{help_contact_path}}'>da nam se javite</a>."
msgid "There is {{count}} person following this request"
msgid_plural "There are {{count}} people following this request"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Trenutno {{count}} korisnik prati ovaj zahtev"
+msgstr[1] "Trenutno {{count}} korisnika prati ovaj zahtev"
+msgstr[2] "Trenutno {{count}} korisnika prati ovaj zahtev"
msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
-msgstr "Došlo je do <strong>greške u isporuci</strong> ili nečega sličnog što treba popravku od strane {{site_name}} tima."
+msgstr "Došlo je do <strong>greške u isporuci</strong> ili nečega sličnog što zahteva popravku od strane tima {{site_name}}."
msgid "There was an error with the words you entered, please try again."
-msgstr "Postoji greška u rečima koje ste ukucali, molimo pokušajte ponovo."
+msgstr "Postoji greška u rečima koje ste uneli, molimo pokušajte ponovo."
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "Za ovaj graf još nisu računati podaci"
msgid "There were no requests matching your query."
-msgstr "Nema zahteva koji odgovaraju Vašoj pretrazi."
+msgstr "Nema zahteva koji odgovaraju Vašem upitu."
msgid "There were no results matching your query."
-msgstr ""
+msgstr "Nema rezultata koji odgovaraju Vašem upitu."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Ovi grafici su delimično inspirisani <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">statistikama koje je Mark Goodge napravio za britanski sajt WhatDoTheyKnow</a>, tako da smo zahvalni njemu za ovo."
msgid "They are going to reply <strong>by post</strong>"
-msgstr "Odgovoriti će <strong>poštom</strong>"
+msgstr "Oni će odgovoriti <strong>poštom</strong>"
msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
-msgstr "Oni <strong>ne posjeduju</strong> informaciju <small>(možda mogu reći ko je posjeduje)</small>"
+msgstr "Oni <strong>ne poseduju</strong> informaciju <small>(ali možda oni mogu reći ko je poseduje)</small>"
msgid "They have been given the following explanation:"
msgstr "Dato im je slijedeće objašnjenje:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr "Nisu odgovorili na Vaš {{law_used_short}} zahtev {{title}} u kratkom vremenskom roku, kao što je predviđeno zakonom"
+msgstr "Oni nisu odgovorili na Vaš {{law_used_short}} zahtev {{title}} u kratkom vremenskom roku, kao što je predviđeno zakonom"
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
msgstr ""
@@ -2541,25 +2485,25 @@ msgstr ""
"kao što je predviđeno zakonom"
msgid "Things to do with this request"
-msgstr "Stvari za uraditi sa ovim zahtevom"
+msgstr "Šta se može uraditi sa ovim zahtevom"
msgid "Things you're following"
-msgstr ""
+msgstr "Stvari koje pratite"
msgid "This authority no longer exists, so you cannot make a request to it."
-msgstr "Ova ustanova više ne postoji, zato joj nije moguće podnijeti zahtev. "
+msgstr "Ova ustanova više ne postoji, zato joj nije moguće podneti zahtev. "
msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
-msgstr ""
+msgstr "Ovo pokriva veoma širok spektar informacija u vezi stanja\\n <strong>prirodne i urbane okoline</strong>, kao npr.:"
msgid "This external request has been hidden"
-msgstr ""
+msgstr "Ovaj spoljni zahtev je sakriven"
msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
-msgstr ""
+msgstr "Ovo je \"plain-text\" verzija Zahteva za slobodan pristup informacijama od javnog značaja \"{{request_title}}\". Najnovija, puna verzija je raspoloživa online na {{full_url}}"
msgid "This is an HTML version of an attachment to the Freedom of Information request"
-msgstr "Ovo je HTML verzija priloga uz Zahtev za slobodnom pristupu informacijama"
+msgstr "Ovo je HTML verzija priloga uz Zahtev za slobodan pristup informacijama od javnog značaja"
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
@@ -2567,121 +2511,119 @@ msgstr ""
"označen da više ne prima odgovore."
msgid "This is the first version."
-msgstr ""
+msgstr "Ovo je prva verzija."
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
-msgstr "Ovo je Vaš zahtev, biti ćete automatski obavešteni e-mailom kada novi odgovori budu stizali."
+msgstr "Ovo je Vaš zahtev, bićete automatski obaveštavani e-mailom kada novi odgovori budu stizali."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Ova poruka je sakrivena."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Ova poruka je sakrivena. Postoje razni razlozi zašto smo ovo mogli uraditi, žao nam je, ali ne možemo biti precizniji po tom pitanju."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ova poruka ima važnost \"sakrivena\". Možete je videti zato što ste prijavljeni kao administrator."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ova poruka ima važnost \"sakrivena\". {{reason}} Možete je videti zato što ste prijavljeni kao administrator."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Ova poruka je sakrivena tako da je samo vi, podnosilac, možete videti. Molimo <a href=\"{{url}}\">kontaktirajte nas </a> ako niste sigurni zašto."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Ova poruka je sakrivena tako da je samo vi kao podnosilac možete videti. {{reason}}"
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Ova stranica sa statistikama javnih institucija je trenutno eksperimentalna, tako da treba da imate u vidu sledeće:"
msgid "This particular request is finished:"
msgstr "Ovaj zahtev je završen:"
msgid "This person has made no Freedom of Information requests using this site."
-msgstr "Ova osoba nije podnela nijedan Zahtev za slobodan pristup informacijama koristeći ovu web stranicu."
+msgstr "Ova osoba nije podnela nijedan Zahtev za slobodan pristup informacijama od javnog značaja koristeći ovaj sistem."
msgid "This person's annotations"
msgstr "Napomene ove osobe"
msgid "This person's {{count}} Freedom of Information request"
msgid_plural "This person's {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "{{count}} zahtev ovog korisnika"
+msgstr[1] "{{count}} zahteva ovog korisnika"
+msgstr[2] "{{count}} zahteva ovog korisnika"
msgid "This person's {{count}} annotation"
msgid_plural "This person's {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "{{count}} komentar ovog korisnika"
+msgstr[1] "{{count}} komentara ovog korisnika"
+msgstr[2] "{{count}} komentara ovog korisnika"
msgid "This request <strong>requires administrator attention</strong>"
-msgstr "Ovaj zahtev <strong>treba provjeru administratora</strong>"
+msgstr "Ovaj zahtev <strong>treba da pregleda administrator</strong>"
msgid "This request has already been reported for administrator attention"
-msgstr ""
+msgstr "Ovaj zahtev je već prijavljen administratorima"
msgid "This request has an <strong>unknown status</strong>."
msgstr "Ovaj zahtev ima <strong>nepoznat status</strong>."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
-msgstr ""
+msgstr "Ovaj zahtev je <strong>sakriven</strong> od javnosti, zato što administratori ne smatraju da je u skladu sa Zakonom o slobodnom pristupu informacijama od javnog značaja."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
-msgstr ""
+msgstr "Ovaj zahtev je <strong>sakriven</strong> od javnosti, zato što administratori smatraju da je zloupotreba prava na slobodan pristup informacijama od javnog značaja."
msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
-msgstr ""
+msgstr "Ovaj zahtev je <strong>prijavljen</strong> administratorima (možda zato što izgleda kao zloupotreba prava, ili zahtev za izdavanje ličnih podataka)"
msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
-msgstr ""
-"Ovaj zahtev je <strong>povučen</strong> od strane osobe koja ga je napravila. \n"
-" <span class=\"whitespace other\" title=\"Tab\">»</span> Obijašnjenje može biti u dopisima ispod."
+msgstr "Ovaj zahtev je <strong>povučen</strong> od strane osobe koja ga je napravila.\\n Možda prepiska prikazana ispod sadrži objašnjenje."
msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Ovaj zahtev je obeležen za pregled od strane administratora, koji ga za sada nisu sakrili. Ako verujete da zahtev treba da bude sakriven, molimo <a href=\"{{url}}\">kontaktirajte nas</a>."
msgid "This request has been reported for administrator attention"
-msgstr ""
+msgstr "Ovaj zahtev je prijavljen administratorima"
msgid "This request has been set by an administrator to \"allow new responses from nobody\""
-msgstr ""
+msgstr "Ovaj zahtev je poslao jedan od administratora da \"ne dozvoli nove odgovore ni od koga\""
msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
-msgstr "Ovaj zahtev je dobio neobičan odgovor, i <strong>treba pregled</strong> od strane {{site_name}} tima."
+msgstr "Ovaj zahtev je dobio neobičan odgovor i <strong>potrebno je da ga vidi</strong> tim {{site_name}}."
msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
msgstr ""
"Ovaj zahtev je inače skriven. Možete ga videti jer ste prijavljeni \n"
-" kao super korisnik."
+" kao administrator."
msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
msgstr ""
-"Ovaj zahtev je skriven tako da ga samo Vi podnosioc možete videti. Molimo\n"
+"Ovaj zahtev je skriven tako da ga samo Vi podnosilac možete videti. Molimo\n"
" <a href=\"{{url}}\">kontaktirajte nas</a> ako niste sigurni zašto."
msgid "This request is still in progress:"
msgstr "Ovaj zahtev je još u toku:"
msgid "This request requires administrator attention"
-msgstr ""
+msgstr "Ovaj zahtev moraju da pogledaju administratori"
msgid "This request was not made via {{site_name}}"
-msgstr ""
+msgstr "Ovaj zahtev nije podnet pomoću sistema {{site_name}}"
msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
-msgstr ""
+msgstr "Ova tabela pokazuje tehničke detalje internih akcija koje su se desile\\nu vezi ovog zahteva na sistemu {{site_name}}. Ovo se može koristiti za pripremu podataka u vezi\\nbrzine kojom ustanove odgovaraju na zahteve, broja zahteva\\nkoji zahtevaju poštanski odgovor - i mnogo drugih namena."
msgid "This user has been banned from {{site_name}} "
msgstr "Ovaj korisnik je isključen sa {{site_name}} "
msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
-msgstr "To nije bilo moguće jer već postoji račun koji koristi ovu e-mail adresu {{email}}."
+msgstr "To nije bilo moguće jer već postoji račun koji koristi e-mail adresu {{email}}."
msgid "To cancel these alerts"
-msgstr "Da biste poništili ova upozorenja"
+msgstr "Da biste opozvali ova upozorenja"
msgid "To cancel this alert"
-msgstr "Da biste poništili ovo upozorenje"
+msgstr "Da biste opozvali ovo upozorenje"
msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
msgstr ""
@@ -2689,13 +2631,13 @@ msgstr ""
"tehničke prirode se pojavio pri pokušaju navedenog."
msgid "To change your email address used on {{site_name}}"
-msgstr "Da biste promenili Vašu e-mail adresu korištenu na {{site_name}}"
+msgstr "Da biste promenili Vašu e-mail adresu korišćenu na {{site_name}}"
msgid "To classify the response to this FOI request"
-msgstr "Da biste klasificirali odgovor na ovaj Zahtev za slobodan pristup informacijama"
+msgstr "Da biste klasifikovali odgovor na ovaj Zahtev za slobodan pristup informacijama od javnog značaja"
msgid "To do that please send a private email to "
-msgstr "Da biste to uradili molimo pošaljite privatni e-mail "
+msgstr "Da biste to uradili molimo pošaljite privatni e-mail za"
msgid "To do this, first click on the link below."
msgstr "Da biste ovo uradili, prvo kliknite na link ispod."
@@ -2704,31 +2646,31 @@ msgid "To download the zip file"
msgstr "Da biste preuzeli zip fajl"
msgid "To follow all successful requests"
-msgstr ""
+msgstr "Da pratite sve uspešne zahteve pomoću e-mail biltena"
msgid "To follow new requests"
-msgstr ""
+msgstr "Da pratite nove zahteve"
msgid "To follow requests and responses matching your search"
-msgstr "Da biste pratili zahteve i odgovore koji se podudaraju sa Vašom pretragom"
+msgstr "Da biste pratili zahteve i odgovore koji su pronađeni na bazi Vašeg upita"
msgid "To follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Da pratite sve zahteve podnete od strane korisnika '{{user_name}}' pomoću e-mail biltena"
msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
-msgstr ""
+msgstr "Da pratite sve zahteve podnete za ustanovu '{{public_body_name}}' kroz sistem {{site_name}} pomoću e-mail biltena"
msgid "To follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Da pratite zahtev '{{request_title}}' pomoću e-mail biltena"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr ""
+msgstr "Da nam pomogne da održavamo podatke urednim, neko drugi je ažurirao status\\nzahteva vezanog za {{law_used_full}} pod naslovom {{title}} koji ste Vi podneli ustanovi {{public_body}}, na \"{{display_status}}\" Ako se ne slažete sa njihovom kategorizacijom, molimo Vas da sami ažurirate status onako kako mislite da je ispravnije."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "Da svima objavite, molimo pratite ovaj link i onda odaberite odgovarajuće polje."
msgid "To log into the administrative interface"
-msgstr ""
+msgstr "Da se prijavite na administrativnu aplikaciju"
msgid "To play the request categorisation game"
msgstr "Da biste igrali igru kategorizacije zahteva"
@@ -2740,28 +2682,28 @@ msgid "To reply to "
msgstr "Da biste odgovorili "
msgid "To report this request"
-msgstr ""
+msgstr "Da biste prijavili ovaj zahtev"
msgid "To send a follow up message to "
-msgstr "Da biste poslali prateću poruku za "
+msgstr "Da biste poslali reakciju za "
msgid "To send a message to "
msgstr "Da biste poslali poruku za "
msgid "To send your FOI request"
-msgstr "Da biste poslali Vaš Zahtev za slobodan pristup informacijama."
+msgstr "Da biste poslali Vaš Zahtev za slobodan pristup informacijama od javnog značaja"
msgid "To update the status of this FOI request"
-msgstr "Da biste ažurirali status Vašeg Zahteva za slobodan pristup informacijama."
+msgstr "Da biste ažurirali status Vašeg Zahteva za slobodan pristup informacijama od javnog značaja"
msgid "To upload a response, you must be logged in using an email address from "
-msgstr "Da biste postavili odgovor, morate biti prijavljeni koristeći pritom e-mail adresu sa "
+msgstr "Da biste učitali odgovor, morate biti prijavljeni koristeći e-mail adresu sa "
msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
msgstr "Da biste koristili napredno pretraživanje, kombinujte fraze i oznake kao što je opisano u savetima za pretragu ispod."
msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
-msgstr "Da biste videli e-mail adresu koju koristimo za slanje Zahteva za slobodan pristup informacijama prema {{public_body_name}}, molimo unesite ove reči."
+msgstr "Da biste videli e-mail adresu koju koristimo za slanje Zahteva za slobodan pristup informacijama od javnog značaja za {{public_body_name}}, molimo unesite ove reči."
msgid "To view the response, click on the link below."
msgstr "Da biste videli odgovor, kliknite na link ispod."
@@ -2776,72 +2718,72 @@ msgid "Today"
msgstr "Danas"
msgid "Too many requests"
-msgstr ""
+msgstr "Previše zahteva"
msgid "Top search results:"
msgstr "Glavni rezultati pretrage"
msgid "Track thing"
-msgstr ""
+msgstr "Pratite stvar"
msgid "Track this person"
msgstr "Prati ovu osobu"
msgid "Track this search"
-msgstr "Pratite ovu pretragu"
+msgstr "Prati ovu pretragu"
msgid "TrackThing|Track medium"
-msgstr ""
+msgstr "TrackThing|Medijum za praćenje"
msgid "TrackThing|Track query"
-msgstr ""
+msgstr "TrackThing|Upit za praćenje"
msgid "TrackThing|Track type"
-msgstr ""
+msgstr "TrackThing|Tip praćenja"
msgid "Turn off email alerts"
-msgstr ""
+msgstr "Isključi e-mail biltene"
msgid "Tweet this request"
-msgstr "Tweetuj ovaj zahtev"
+msgstr "Tvituj ovaj zahtev"
msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
-msgstr "Upišite <strong><code>01/01/2008..14/01/2008</code></strong> da prikažete samo ono što se dešavalo u prve dve nedelje januara."
+msgstr "Upišite <strong><code>01/01/2008..14/01/2008</code></strong> da se prikaže samo ono što se dešavalo u prve dve nedelje januara."
msgid "URL name can't be blank"
-msgstr "Ime URL-a ne može ostati prazno "
+msgstr "URL ime ne može ostati prazno "
msgid "Unable to change email address on {{site_name}}"
-msgstr "Nemoguće promeniti e-mail adresu na {{site_name}}"
+msgstr "Nemoguće promeniti e-mail adresu na {{site_name}}"
msgid "Unable to send a reply to {{username}}"
-msgstr "Ne možemo poslati poruku za {{username}}"
+msgstr "Ne možemo poslati odgovor za {{username}}"
msgid "Unable to send follow up message to {{username}}"
-msgstr "Ne možemo poslati popratnu pokuku za {{username}}"
+msgstr "Ne možemo poslati reakciju za {{username}}"
msgid "Unexpected search result type"
-msgstr ""
+msgstr "Neočekivani tip rezultata pretrage"
msgid "Unexpected search result type "
-msgstr ""
+msgstr "Neočekivani tip rezultata pretrage"
msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
msgstr ""
-"Nažalost nismo u posjedu e-mail adrese za ZOSPI\n"
-"te ustanove, tako da nismo u mogućnosti validirati ovo.\n"
+"Nažalost nemamo e-mail adresu za ZOSPI\n"
+"te ustanove, tako da ne možemo da ovo validiramo.\n"
"Molimo <a href=\"{{url}}\">kontaktirajte nas</a> da to razjasnimo."
msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
msgstr ""
-"Nažalost, ne posedujemo ispravnu {{info_request_law_used_full}}\n"
-"adresu za"
+"Nažalost, ne posedujemo ispravnu \n"
+"adresu za upite u vezi {{info_request_law_used_full}} za"
msgid "Unknown"
msgstr "Nepoznat"
msgid "Unsubscribe"
-msgstr ""
+msgstr "Otkaži praćenje"
msgid "Unusual response."
msgstr "Neobičan odgovor."
@@ -2853,150 +2795,142 @@ msgid "Update the status of your request to "
msgstr "Ažurirajte status Vašeg zahteva za "
msgid "Upload FOI response"
-msgstr ""
+msgstr "Učitajte odgovor"
msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
-msgstr ""
+msgstr "Koristite OR (velika slova) gde vam je svejedno koja reč, e.g. <strong><code>commons OR lords</code></strong>"
msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
-msgstr "Koristite navodnike kada želite naći tačne fraze, npr. <strong><code>\"Ministarstvo Trgovine i Industrije\"</code></strong>"
+msgstr "Koristite navodnike kada želite naći ceo niz reči, npr. <strong><code>\"Ministarstvo Unutrašnjih Poslova\"</code></strong>"
msgid "User"
-msgstr ""
+msgstr "Korisnik"
msgid "User info request sent alert"
-msgstr ""
+msgstr "Zahtev za informacije o korisniku je poslao e-mail bilten"
msgid "User – {{name}}"
-msgstr ""
+msgstr "Korisnik – {{name}}"
msgid "UserInfoRequestSentAlert|Alert type"
-msgstr ""
+msgstr "UserInfoRequestSentAlert|Alert događaja"
msgid "User|About me"
-msgstr "Korisnik|O meni"
-
-msgid "User|Address"
-msgstr ""
+msgstr "User|O meni"
msgid "User|Admin level"
-msgstr "Korisnik|Administratorski nivo"
+msgstr "User|Administratorski nivo"
msgid "User|Ban text"
-msgstr "Korisnik|tekst isključenja"
-
-msgid "User|Dob"
-msgstr ""
+msgstr "User|Tekst isključenja"
msgid "User|Email"
-msgstr "Korisnik|E-mail"
+msgstr "User|E-mail"
msgid "User|Email bounce message"
-msgstr ""
+msgstr "User|Poruka odbijenog emaila"
msgid "User|Email bounced at"
-msgstr ""
+msgstr "User|Email odbijen u"
msgid "User|Email confirmed"
-msgstr "Korisnik | E-mail potvrđen"
+msgstr "User|E-mail potvrđen"
msgid "User|Hashed password"
-msgstr "Korisnik|Hashed password"
+msgstr "User|Hash lozinke"
msgid "User|Last daily track email"
-msgstr ""
+msgstr "User|Poslednji email dnevnog praćenja"
msgid "User|Locale"
-msgstr ""
+msgstr "User|Jezik"
msgid "User|Name"
-msgstr "Korisnik|Ime"
+msgstr "User|Ime"
msgid "User|No limit"
-msgstr ""
+msgstr "User|Bez limita"
msgid "User|Receive email alerts"
-msgstr ""
+msgstr "User|Primaj e-mail biltene"
msgid "User|Salt"
-msgstr ""
+msgstr "User|So lozinke"
msgid "User|Url name"
-msgstr "Korisnik|Url ime"
+msgstr "User|Url ime"
msgid "Version {{version}}"
-msgstr ""
+msgstr "Verzija {{version}}"
msgid "View FOI email address"
-msgstr "Videti adresu za Zahteve za slobodan pristup informacijama."
+msgstr "Videti email adresu za Zahteve za slobodan pristup informacijama od javnog značaja."
msgid "View FOI email address for '{{public_body_name}}'"
msgstr "Videti ZOSPI e-mail za '{{public_body_name}}'"
msgid "View FOI email address for {{public_body_name}}"
-msgstr "Pogledati ZOSPI e-mail adrese za {{public_body_name}}"
+msgstr "Pogledati ZOSPI e-mail adresu za {{public_body_name}}"
msgid "View Freedom of Information requests made by {{user_name}}:"
-msgstr "Pegledati Zahjeve za slobodan pristup informacijama napravljene od strane {{user_name}}:"
+msgstr "Videti Zahteve za slobodan pristup informacijama od javnog značaja napravljene od strane {{user_name}}:"
msgid "View and search requests"
msgstr "Pregledaj i pretraži zahteve"
msgid "View authorities"
-msgstr "Videti ustanove"
+msgstr "Pregledaj ustanove"
msgid "View email"
-msgstr "Pogledati e-mail"
+msgstr "Prikaži e-mail"
msgid "View requests"
-msgstr "Videti zahteve"
+msgstr "Pregled zahteva"
msgid "Waiting clarification."
-msgstr "Čekamo na objašnjenje."
+msgstr "Čeka na razjašnjenje."
msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
-msgstr ""
+msgstr "Čeka na <strong>urgenciju </strong> od strane {{public_body_link}} u vezi njihove obrade ovog zahteva."
msgid "Waiting for the public authority to complete an internal review of their handling of the request"
-msgstr ""
+msgstr "Čeka se na javnu ustanovu da završi urgenciju u vezi obrade ovog zahteva"
msgid "Waiting for the public authority to reply"
-msgstr "Čekamo na odgovor javne ustanove"
+msgstr "Čeka na odgovor javne ustanove"
msgid "Was the response you got to your FOI request any good?"
-msgstr "Da li je odgovor koji ste dobili na Vaš Zahtev o slobodnom pristupu informacijama bio od ikakve koristi?"
+msgstr "Da li je odgovor koji ste dobili na Vaš Zahtev o slobodnom pristupu informacijama od javnog značaja bio od ikakve koristi?"
msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Smatramo da ovo nije ispravan zahtev pa smo ga zbog toga sakrili od ostalih korisnika."
msgid "We consider it to be vexatious, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Smatramo da je ovaj zahtev zloupotreba prava pa smo ga zbog toga sakrili od ostalih korisnika."
msgid "We do not have a working request email address for this authority."
-msgstr "Ne posedujemo ispravnu e-mail adresu za zahteve ove ustanove."
+msgstr "Ne posedujemo ispravnu e-mail adresu za zahteve za ovu ustanovu."
msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
-msgstr "Nemamo ispravnu {{law_used_full}} adresu za {{public_body_name}}."
+msgstr "Nemamo ispravnu adresu za {{public_body_name}} za upite vezane za {{law_used_full}}."
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
-msgstr ""
-"Ne znamo da li najnoviji odgovor na ovaj zahtev sadrži\n"
-" informacije ili ne\n"
-" &ndash;\n"
-"<span class=\"whitespace other\" title=\"Tab\">»</span>ako ste {{user_link}} molimo <a href=\"{{url}}\">prijavite se</a> i obavestite sve."
+msgstr "Ne znamo da li najnoviji odgovor na ovaj zahtev sadrži\\n ili ne tražene informacije\\n &ndash;\\n⇥ako ste vi {{user_link}} molimo <a href=\"{{url}}\">prijavite se na sistem</a> i obavestite sve o tome."
msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
msgstr ""
+"Nećemo otkriti Vašu email adresu nikome osim ako nam Vi ne odobrite\\n\n"
+"ili nas na to ne natera zakon (<a href=\"{{url}}\">više informacija</a>). "
msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
msgstr ""
"Nećemo prikazati Vašu e-mail adresu nikome osim ako nam Vi\n"
-"ili zakon to budete zahtijevali."
+"ili zakon to ne budete tražili."
msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
msgstr ""
"Nećemo prikazati Vašu e-mail adresu nikome osim ako nam Vi\n"
-"ili zakon to budete zahtijevali."
+"ili zakon to ne budete tražili."
msgid "We're waiting for"
msgstr "Čekamo da"
@@ -3006,41 +2940,37 @@ msgstr "Čekamo da neko pročita"
msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
msgstr ""
-"Poslali smo e-mail na Vašu novu e-mail adresu. Morati ćete kliknuti na link u\n"
-"njemu prije nego Vaša adresa bude izmjenjena."
+"Poslali smo e-mail na Vašu novu e-mail adresu. Moraćete kliknuti na link u\n"
+"njemu da bi Vaša e-mail adresa bila promenjena."
msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
-msgstr ""
-"Poslali smo Vam e-mail, trebate kliknuti na link u njemu prije nego što \n"
-"nastavite."
+msgstr "Poslali smo Vam e-mail, potrebno je da kliknete na link u njemu da biste mogli da nastavite."
msgid "We've sent you an email, click the link in it, then you can change your password."
-msgstr "Poslali smo Vam e-mail, kliknite na link u njemu, onda ćete moći promjeniti Vaš password."
+msgstr "Poslali smo Vam e-mail - kliknite na link u njemu, pa ćete moći da promenite Vašu lozinku."
msgid "What are you doing?"
msgstr "Šta radite?"
msgid "What best describes the status of this request now?"
-msgstr "Šta najbolje opisuje status ovog zahteva sada?"
+msgstr "Šta najbolje opisuje status ovog zahteva u ovom trenutku?"
msgid "What information has been released?"
msgstr "Koje informacije su objavljene?"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Koje informacije su tražene?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
-msgstr ""
-"Kada dođete do toga, molimo ažurirajte status da nam kažete da li \n"
-"je odgovor sadržavao korisne informacije."
+msgstr "Kada dođete tamo, molimo ažurirajte status da objasnite da li odgovor\\nsadrži korisne informacije."
msgid "When you receive the paper response, please help\\n others find out what it says:"
msgstr ""
-"Kada dobijete printanu kopiju, molimo pomozite\n"
-" drugima da saznaju njen sadržaj:"
+"Kada dobijete odgovor u štampanoj formi, molimo pomozite\n"
+" drugima da saznaju njegov sadržaj:"
msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
-msgstr "Kada završite, <strong>vratite se ovde</strong>, <a href=\"{{url}}\">učitajte ponovo ovu stranicu</a> i spremite Vaš novi zahtev."
+msgstr "Kada završite, <strong>vratite se ovde</strong>, <a href=\"{{url}}\">učitajte ponovo ovu stranicu</a> i podnesite Vaš novi zahtev."
msgid "Which of these is happening?"
msgstr "Šta se od ovoga događa?"
@@ -3052,19 +2982,19 @@ msgid "Withdrawn by the requester."
msgstr "Povučeno od strane podnosioca zahteva."
msgid "Wk"
-msgstr "Nedelja"
+msgstr "Nd"
msgid "Would you like to see a website like this in your country?"
-msgstr "Da li biste hteli videti ovakvu web stranicu u Vašoj zemlji?"
+msgstr "Da li biste želeli da imate ovakav sistem u Vašoj zemlji?"
msgid "Write a reply"
-msgstr "Napisati odgovor"
+msgstr "Napišite odgovor"
msgid "Write a reply to "
-msgstr "napišite odgovor za "
+msgstr "Napišite odgovor za "
msgid "Write your FOI follow up message to "
-msgstr "Napišite Vašu prateću poruku Zahteva za slobodan pristup informacijama za "
+msgstr "Napišite Vašu reakciju po Zahtevu za slobodan pristup informacijama od javnog značaja za "
msgid "Write your request in <strong>simple, precise language</strong>."
msgstr "Pišite Vaš zahtev <strong>jednostavnim, preciznim jezikom</strong>."
@@ -3073,171 +3003,171 @@ msgid "You"
msgstr "Vi"
msgid "You are already following new requests"
-msgstr ""
+msgstr "Već pratite nove zahteve"
msgid "You are already following requests to {{public_body_name}}"
-msgstr ""
+msgstr "Već pratite zahteve za ustanovu '{{public_body_name}}'"
msgid "You are already following things matching this search"
-msgstr ""
+msgstr "Već pratite ono što odgovara ovom upitu"
msgid "You are already following this person"
-msgstr ""
+msgstr "Već pratite ovog korisnika"
msgid "You are already following this request"
-msgstr ""
+msgstr "Već pratite ovaj zahtev"
msgid "You are already following updates about {{track_description}}"
-msgstr ""
+msgstr "Već primate sledeće e-mail biltene u vezi {{track_description}}"
msgid "You are currently receiving notification of new activity on your wall by email."
-msgstr ""
+msgstr "Već pratite aktivnost na Vašem zidu pomoću e-mail biltena"
msgid "You are following all new successful responses"
-msgstr ""
+msgstr "Pratite sve nove uspešne odgovore"
msgid "You are no longer following {{track_description}}."
-msgstr ""
+msgstr "Više ne pratite {{track_description}}."
msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
-msgstr ""
+msgstr "Sada <a href=\"{{wall_url_user}}\">pratite</a> novosti u vezi {{track_description}}"
msgid "You can <strong>complain</strong> by"
-msgstr "Možete se <strong>žaliti</strong> tako što ćete"
+msgstr "Možete se <strong>žaliti</strong> tako što"
msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
-msgstr ""
+msgstr "Možete promeniti listu zahteva i korisnika koje pratite <a href=\"{{profile_url}}\">na stranici Vašeg profila</a>."
msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
-msgstr ""
+msgstr "Ovu stranu možete dobiti u mašinski čitljivom obliku kao deo glavne JSON\\nstrane za ovaj zahtev. Pogledajte <a href=\"{{api_path}}\">API dokumentaciju</a>."
msgid "You can only request information about the environment from this authority."
-msgstr "Možete samo zahtevati informacije o okolišu od ove ustanove."
+msgstr "Od ove ustanove možete zahtevati samo informacije u vezi zaštite okoline."
msgid "You have a new response to the {{law_used_full}} request "
-msgstr "Imate novi odgovor na {{law_used_full}} zahtev "
+msgstr "Imate novi odgovor na zahtev vezan za {{law_used_full}} "
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
-msgstr "Pronašli ste programsku grešku. Molimo <a href=\"{{contact_url}}\">kontaktirajte nas</a> da nam ukažete na problem"
+msgstr "Pronašli ste programsku grešku. Molimo <a href=\"{{contact_url}}\">kontaktirajte nas</a> da nam objasnite šta je izazvalo problem"
msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
-msgstr ""
+msgstr "Dostigli ste limit broja unetih zahteva dnevno. Uobičajeni limit za korisnike sistema je {{max_requests_per_user_per_day}} podnetih zahteva u periodu od 24h. Novi zahtev ćete moći podneti {{can_make_another_request}}."
msgid "You have made no Freedom of Information requests using this site."
-msgstr "Niste podneli nijedan Zahtev za slobodan pristup informacijama koristeći ovu web stranicu. "
+msgstr "Još niste podneli ni jedan Zahtev za slobodan pristup informacijama od javnog značaja pomoću ovog sistema. "
msgid "You have now changed the text about you on your profile."
msgstr "Sada ste promenili tekst o Vama na Vašem profilu."
msgid "You have now changed your email address used on {{site_name}}"
-msgstr "Sada ste promenili Vašu e-mail adresu korištenu na {{site_name}}"
+msgstr "Sada ste promenili Vašu e-mail adresu registrovanu na {{site_name}}"
msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
msgstr ""
-"Probali ste da se registrujete {{site_name}}, mada već\n"
-"imate račun. Vaše ime i password su ostali\n"
-"isti kao prije.\n"
+"Probali ste da se registrujete na sistem {{site_name}}, mada već\n"
+"imate račun. Vaše ime i lozinka su ostali\n"
+"isti kao ranije.\n"
"\n"
"Molimo kliknite na link ispod."
msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
-msgstr "Znate šta je uzrok greške i možete <strong>predložiti rešenje</strong>, poput ispravne e-mail adrese."
+msgstr "Znate šta je uzrok ove greške i možete <strong>predložiti rešenje</strong>, poput ispravne e-mail adrese."
msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
-msgstr ""
+msgstr "Možete <strong>ubaciti priloge</strong>. Ako želite ubaciti datoteku\\n preveliku za e-mail poruke, koristite obrazac ispod."
msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
msgstr ""
"Moguće je da je nađete\n"
-" na njihovoj web stranici, ili putem telefonskog poziva. Ako uspete\n"
+" na njihovoj web stranici, ili uz pomoć telefonskog poziva. Ako uspete\n"
" da je nađete, onda molimo <a href=\"{{url}}\">da nam je pošaljete</a>."
msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
msgstr ""
"Možete ga naći\n"
-"na njihovoj web-stranici, ili ih pitati putem telefona. Ako ga uspete\n"
-"naći, tada molimo <a href=\"{{help_url}}\">pošaljite nam ga</a>."
+"na njihovoj web-stranici, ili ih pitati telefonom. Ako ga uspete\n"
+"naći, molimo <a href=\"{{help_url}}\">pošaljite ga i nama</a>."
msgid "You need to be logged in to change the text about you on your profile."
-msgstr "Morate biti prijavljeni ukoliko želite mjenjati tekst o Vama na Vašem profilu."
+msgstr "Morate biti prijavljeni na sistem ukoliko želite menjati tekst o Vama na Vašem profilu."
msgid "You need to be logged in to change your profile photo."
-msgstr "Morate biti prijavljeni ukoliko želite mjenjati sliku na Vašem profilu."
+msgstr "Morate biti prijavljeni na sistem ukoliko želite menjati sliku na Vašem profilu."
msgid "You need to be logged in to clear your profile photo."
-msgstr "Morate biti prijavljeni ukoliko želite izbrisati sliku na Vašem profilu."
+msgstr "Morate biti prijavljeni na sistem ukoliko želite izbrisati sliku na Vašem profilu."
msgid "You need to be logged in to edit your profile."
-msgstr ""
+msgstr "Morate biti prijavljeni na sistem da biste menjali Vaš profil."
msgid "You need to be logged in to report a request for administrator attention"
-msgstr ""
+msgstr "Morate biti prijavljeni na sistem da biste prijavili ovaj zahtev administratorima"
msgid "You previously submitted that exact follow up message for this request."
-msgstr "Prethodno ste predali istu popratnu poruku za ovaj zahtev."
+msgstr "Već ste jednom poslali potpuno istu reakciju za ovaj zahtev."
msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
-msgstr ""
+msgstr "Trebalo bi da ste dobili kopiju zahteva e-mailom i možete odgovoriti\\n prosto tako što <strong>odgovorite na e-mail</strong>. Evo adrese:"
msgid "You want to <strong>give your postal address</strong> to the authority in private."
-msgstr "Želite da <strong>date vašu poštansku adresu</strong> isključivo ustanovi."
+msgstr "Želite da <strong>date vašu poštansku adresu</strong> isključivo toj ustanovi - bez objavljivanja svima."
msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
-msgstr ""
+msgstr "Nećete moći da šaljete nove zahteve, reakcije, dodajete komentare ili\\nšaljete poruke drugim korisnicima. Možete da nastavite da gledate druge zahteve, i konfigurišete\\ne-mail biltene."
msgid "You will no longer be emailed updates for those alerts"
-msgstr "Više vam nećemo slati ažuriranja za ova upozorenja"
+msgstr "Više vam nećemo slati novosti za ta upozorenja"
msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
-msgstr ""
+msgstr "Sada ćete dobijati e-mail biltene u vezi {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Radije ne biste primali e-mail poruke?</a>"
msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
-msgstr ""
+msgstr "Dobićete odgovor na Vaš zahtev ako reagujete\\n šaljući razjašnjenje."
msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
-msgstr ""
+msgstr "I dalje ćete moći da ga vidite kada ste prijavljeni na sistem. Molimo odgovorite na ovu poruku ako želite da komentarišete dalje ovu odluku."
msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
-msgstr ""
+msgstr "Prijavili ste se. <a href=\"#\" id=\"send-request\">Nastavite podnošenje zahteva</a>"
msgid "You're long overdue a response to your FOI request - "
-msgstr ""
+msgstr "Odgovor na Vaš zahtev za slobodan pristup informacijama od javnog značaja kasni - "
msgid "You're not following anything."
-msgstr ""
+msgstr "Trenutno ne pratite ništa pomoću e-mail biltena."
msgid "You've now cleared your profile photo"
msgstr "Sada ste izbrisali sliku na Vašem profilu"
msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
-msgstr ""
+msgstr "Vaše <strong>ime će biti javno prikazano</strong>\\n (<a href=\"{{why_url}}\">zašto?</a>)\\n na ovom sistemu i u pretraživačima. Ako \\n razmišljate o upotrebi pseudonima, molimo\\n <a href=\"{{help_url}}\">prvo ovo pročitajte</a>."
msgid "Your annotations"
msgstr "Vaše napomene"
msgid "Your details, including your email address, have not been given to anyone."
-msgstr ""
+msgstr "Vaši lični podaci, uključujući Vašu email adresu, nisu dati nikome."
msgid "Your e-mail:"
msgstr "Vaš e-mail:"
msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
-msgstr ""
+msgstr "Vaša reakcija nije poslata zato što je ovaj zahtev blokiran da se spreči spam. Molimo <a href=\"{{url}}\">kontaktirajte nas</a> ako stvarno želite da pošaljete ovu reakciju."
msgid "Your follow up message has been sent on its way."
-msgstr "Vaša prateća poruka je na putu."
+msgstr "Vaša reakcija je poslata."
msgid "Your internal review request has been sent on its way."
-msgstr "Vaša urgencija je na putu."
+msgstr "Vaša urgencija je poslata."
msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
-msgstr "Igrajte igru kategorizacije zahteva"
+msgstr "Vaša poruka je poslata. Hvala što ste se javili! Javićemo Vam se uskoro."
msgid "Your message to {{recipient_user_name}} has been sent"
-msgstr ""
+msgstr "Vaša poruka za korisnika {{recipient_user_name}} je poslata"
msgid "Your message to {{recipient_user_name}} has been sent!"
-msgstr "Vaša poruka za {{recipient_user_name}} je poslana!"
+msgstr "Vaša poruka za {{recipient_user_name}} je poslata!"
msgid "Your message will appear in <strong>search engines</strong>"
msgstr "Vaša poruka će se pojaviti u <strong>pretraživačima</strong>"
@@ -3254,52 +3184,52 @@ msgid "Your name:"
msgstr "Vaše ime:"
msgid "Your original message is attached."
-msgstr "Vaša originalna poruka je pridružena."
+msgstr "Vaša originalna poruka je u prilogu."
msgid "Your password has been changed."
-msgstr "Vaš password je promenjen."
+msgstr "Vaša lozinka je promenjena."
msgid "Your password:"
-msgstr "Vaš password:"
+msgstr "Vaša lozinka:"
msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "Vaša fotografija će biti javno prikazana <strong>na Internetu</strong>,\\n kad god nešto uradite na sistemu {{site_name}}."
msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
-msgstr ""
+msgstr "Vaš zahtev '{{request}}' na {{url}} je bio pregledan od strane moderatora."
msgid "Your request on {{site_name}} hidden"
-msgstr ""
+msgstr "Vaš zahtev na sistemu {{site_name}} je sakriven"
msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
-msgstr "Naziv Vašeg zahteva je {{info_request}}. Obavest o tome da li ste dobili odgovor će nam pomoći da bolje pratimo."
+msgstr "Naziv Vašeg zahteva je {{info_request}}. Ažuriranjem informacije o tome da li ste dobili odgovor ćete nam pomoći da bolje pratimo ponašanje "
msgid "Your request:"
msgstr "Vaš zahtev:"
msgid "Your response to an FOI request was not delivered"
-msgstr ""
+msgstr "Vaš odgovor na Zahtev za slobodan pristup informacijama od javnog značaja nije isporučen"
msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
msgstr "Vaš odgovor će se <strong>pojaviti na Internetu</strong>, <a href=\"{{url}}\">pročitajte zašto</a> i odgovore na druga pitanja."
msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
-msgstr "Vaše mišljenje o tome šta administratori {{site_name}} trebaju da rade po pitanju zahteva."
+msgstr "Vaše mišljenje o tome šta administratori sistema {{site_name}} treba da rade po pitanju ovog zahteva."
msgid "Your {{count}} Freedom of Information request"
msgid_plural "Your {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Vaš {{count}} zahtev"
+msgstr[1] "Vaša {{count}} zahteva"
+msgstr[2] "Vaših {{count}} zahteva"
msgid "Your {{count}} annotation"
msgid_plural "Your {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Vaš {{count}} komentar"
+msgstr[1] "Vaša {{count}} komentara"
+msgstr[2] "Vaših {{count}} komentara"
msgid "Your {{site_name}} email alert"
-msgstr "Vaše {{site_name}} e-mail upozorenje"
+msgstr "Vaš e-mail bilten od {{site_name}} "
msgid "Yours faithfully,"
msgstr "S poštovanjem,"
@@ -3308,30 +3238,28 @@ msgid "Yours sincerely,"
msgstr "S poštovanjem,"
msgid "Yours,"
-msgstr ""
+msgstr "S poštovanjem,"
msgid "[FOI #{{request}} email]"
-msgstr ""
+msgstr "[E-mail za zahtev #{{request}}]"
msgid "[{{public_body}} request email]"
-msgstr ""
+msgstr "[E-mail za zahteve ustanovi {{public_body}}]"
msgid "[{{site_name}} contact email]"
-msgstr ""
+msgstr "[Kontakt email za sistem {{site_name}}]"
msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
-msgstr ""
+msgstr "\\n\\n[ Poruka sistema {{site_name}}: Tekst iznad je bio loše kodiran, pa su čudni znakovi uklonjeni. ]"
msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
-msgstr ""
-"sažetak informacije koju tražite u jednoj rečenici,\n"
-"»»» npr."
+msgstr "sažetak u jednoj liniji kakve informacije tražite, \\n⇥⇥⇥npr."
msgid "admin"
msgstr "administrator"
msgid "alaveteli_foi:The software that runs {{site_name}}"
-msgstr ""
+msgstr "alaveteli_foi:Softver koji koristi sistem {{site_name}}"
msgid "all requests"
msgstr "svi zahtevi"
@@ -3340,13 +3268,13 @@ msgid "also called {{public_body_short_name}}"
msgstr "takođe poznat/a kao {{public_body_short_name}}"
msgid "an anonymous user"
-msgstr ""
+msgstr "anonimni korisnik"
msgid "and"
msgstr "i"
msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
-msgstr "i ažurirajte status po tome. Možda <strong>biste</strong> hteli pomoći radeći to?"
+msgstr "i ažurirajte status po tome. Možda biste <strong>Vi</strong> želeli pomoći radeći to?"
msgid "and update the status."
msgstr "i ažurirajte status."
@@ -3364,34 +3292,34 @@ msgid "anything"
msgstr "bilo šta"
msgid "are long overdue."
-msgstr ""
+msgstr "kasne."
msgid "at"
-msgstr ""
+msgstr "na"
msgid "authorities"
msgstr "ustanove"
msgid "awaiting a response"
-msgstr ""
+msgstr "čeka odgovor"
msgid "beginning with ‘{{first_letter}}’"
-msgstr ""
+msgstr "koje počinje slovom ‘{{first_letter}}’"
msgid "between two dates"
msgstr "između dva datuma"
msgid "but followupable"
-msgstr ""
+msgstr "ali je reakcija moguća"
msgid "by"
msgstr "od strane"
msgid "by <strong>{{date}}</strong>"
-msgstr "od strane <strong>{{date}}</strong>"
+msgstr "do <strong>{{date}}</strong>"
msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
-msgstr "od strane {{public_body_name}} za {{info_request_user}} na datum {{date}}."
+msgstr "od strane {{public_body_name}} za korisnika {{info_request_user}} na dan {{date}}."
msgid "by {{user_link_absolute}}"
msgstr "od strane {{user_link_absolute}}"
@@ -3401,20 +3329,20 @@ msgstr "komentari"
msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
msgstr ""
-"sa Vašom poštanskom adresom, tražite da odgovore na ovaj zahtev.\n"
-" Ili ih možete kontaktirati putem telefona."
+"sa Vašom poštanskom adresom i tražite da odgovore na ovaj zahtev.\n"
+" Ili im možete kontaktirati telefonom."
msgid "details"
msgstr "detalji"
msgid "display_status only works for incoming and outgoing messages right now"
-msgstr ""
+msgstr "display_status trenutno radi samo za odlazne i dolazne poruke"
msgid "during term time"
msgstr "u toku polugodišta"
msgid "edit text about you"
-msgstr "uredite tekst o Vama"
+msgstr "promenite tekst o Vama"
msgid "even during holidays"
msgstr "i za vreme praznika"
@@ -3423,22 +3351,22 @@ msgid "everything"
msgstr "sve"
msgid "external"
-msgstr ""
+msgstr "spoljni"
msgid "has reported an"
msgstr "je prijavio/la"
msgid "have delayed."
-msgstr "je odgodio/la"
+msgstr "je odložen."
msgid "hide quoted sections"
-msgstr ""
+msgstr "sakrij navedene sekcije"
msgid "in term time"
-msgstr ""
+msgstr "u toku školske godine"
msgid "in the category ‘{{category_name}}’"
-msgstr ""
+msgstr "u kategoriji ‘{{category_name}}’"
msgid "internal error"
msgstr "interna greška"
@@ -3447,7 +3375,7 @@ msgid "internal reviews"
msgstr "urgencije"
msgid "is <strong>waiting for your clarification</strong>."
-msgstr "<strong>čeka na Vaše objašnjenje</strong>."
+msgstr "<strong>čeka na Vaše razjašnjenje</strong>."
msgid "just to see how it works"
msgstr "samo da vidite kako radi"
@@ -3459,7 +3387,7 @@ msgid "made."
msgstr "napravljen."
msgid "matching the tag ‘{{tag_name}}’"
-msgstr ""
+msgstr "odgovara privesku ‘{{tag_name}}’"
msgid "messages from authorities"
msgstr "poruke od ustanova"
@@ -3468,19 +3396,19 @@ msgid "messages from users"
msgstr "poruke od korisnika"
msgid "move..."
-msgstr ""
+msgstr "pomeri..."
msgid "no later than"
-msgstr "ne kasnije od"
+msgstr "najkasnije do"
msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "više ne postoji. Ako želite da uradite to\\n sa stranice zahteva, pokušajte da odgovorite na konkretnu poruku, umesto slanja\\n reakcije. Ako je potrebno da pošaljete reakciju i znate\\n email adresu pravog mesta, molimo <a href=\"{{url}}\">pošaljite je i nama</a>."
msgid "normally"
-msgstr ""
+msgstr "po običaju"
msgid "not requestable due to: {{reason}}"
-msgstr ""
+msgstr "zahtev nije moguć zato što: {{reason}}"
msgid "please sign in as "
msgstr "molimo prijavite se kao "
@@ -3495,25 +3423,25 @@ msgid "requests which are {{list_of_statuses}}"
msgstr "zahtevi koji su {{list_of_statuses}}"
msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
-msgstr ""
+msgstr "odgovor pošto zahteva akciju administratora. Pogledajte i odgovorite na ovo\\npošaljite e-mail da im kažete šta planirate da uradite u vezi toga."
msgid "send a follow up message"
-msgstr "pošaljite prateću poruku"
+msgstr "pošaljite reakciju"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr "poslano za {{public_body_name}} od strane {{info_request_user}} na datum {{date}}."
+msgstr "poslato za {{public_body_name}} od strane {{info_request_user}} na dan {{date}}."
msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
-msgstr ""
+msgstr "postavlja na <strong>blank</strong> (prazan niz) ako ne može da pronađe adresu; ove e-mail poruke su <strong>javne</strong> pošto svako može da ih vidi kad unese CAPTCHA"
msgid "show quoted sections"
-msgstr ""
+msgstr "prikaži navedene sekcije"
msgid "sign in"
msgstr "prijavite se"
msgid "simple_date_format"
-msgstr ""
+msgstr "simple_date_format"
msgid "successful"
msgstr "uspešni"
@@ -3522,10 +3450,10 @@ msgid "successful requests"
msgstr "uspešni zahtevi"
msgid "that you made to"
-msgstr ""
+msgstr "koje ste podneli"
msgid "the main FOI contact address for {{public_body}}"
-msgstr "glavne kontakt adrese za Zahteve o slobodnom pristupu informacijama za {{public_body}}"
+msgstr "glavne kontakt adrese za Zahteve o slobodnom pristupu informacijama od javnog značaja za {{public_body}}"
#. This phrase completes the following sentences:
#. Request an internal review from...
@@ -3533,19 +3461,19 @@ msgstr "glavne kontakt adrese za Zahteve o slobodnom pristupu informacijama za {
#. Send a public reply to...
#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
-msgstr "glavni kontakt za Zahteve o slobodnom pristupu informacijama u ustanovi {{public_body}}"
+msgstr "glavni kontakt za Zahteve o slobodnom pristupu informacijama od javnog značaja u ustanovi {{public_body}}"
msgid "the requester"
-msgstr ""
+msgstr "podnosilac zahteva"
msgid "the {{site_name}} team"
-msgstr "{{site_name}} tim"
+msgstr "tim {{site_name}}"
msgid "to read"
-msgstr "za čitati"
+msgstr "za čitanje"
msgid "to send a follow up message."
-msgstr "poslati prateću poruku."
+msgstr "poslati reakciju."
msgid "to {{public_body}}"
msgstr "za {{public_body}}"
@@ -3557,22 +3485,22 @@ msgid "unknown status "
msgstr "nepoznat status "
msgid "unresolved requests"
-msgstr "neriješeni zahtevi"
+msgstr "nerešeni zahtevi"
msgid "unsubscribe"
-msgstr "prekinuti pretplatu"
+msgstr "odjaviti se"
msgid "unsubscribe all"
-msgstr "prekinuti pretplatu na sve"
+msgstr "odjaviti se za sve"
msgid "unsuccessful"
-msgstr "neuspešni"
+msgstr "neuspešno"
msgid "unsuccessful requests"
msgstr "neuspešni zahtevi"
msgid "useful information."
-msgstr "korisna informacija"
+msgstr "korisna informacija."
msgid "users"
msgstr "korisnici"
@@ -3581,126 +3509,123 @@ msgid "what's that?"
msgstr "šta je to?"
msgid "{{count}} FOI requests found"
-msgstr "{{count}} Zahteva za slobodan pristup informacijama pronađeno"
+msgstr "pronađen/o {{count}} Zahtev/a za slobodan pristup informacijama od javnog značaja"
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[0] "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[1] "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[2] "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] "{{count}} zahtev za {{public_body_name}}"
+msgstr[1] "{{count}} zahteva za {{public_body_name}}"
+msgstr[2] "{{count}} zahteva za {{public_body_name}}"
msgid "{{count}} person is following this authority"
msgid_plural "{{count}} people are following this authority"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "{{count}} korisnik prati ovu ustanovu"
+msgstr[1] "{{count}} korisnika prati ovu ustanovu"
+msgstr[2] "{{count}} korisnika prati ovu ustanovu"
msgid "{{count}} request"
msgid_plural "{{count}} requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "{{count}} zahtev"
+msgstr[1] "{{count}} zahteva"
+msgstr[2] "{{count}} zahteva"
msgid "{{count}} request made."
msgid_plural "{{count}} requests made."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "{{count}} zahtev je podnet."
+msgstr[1] "{{count}} zahteva su podneta."
+msgstr[2] "{{count}} zahteva je podneto."
msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
-msgstr ""
+msgstr "{{existing_request_user}} je već\\n podneo isti zahtev na dan {{date}}. Možete ili pogledati <a href=\"{{existing_request}}\">postojeći zahtev</a>,\\n ili promeniti detalje ispod da napravite novi, sličan zahtev."
msgid "{{info_request_user_name}} only:"
-msgstr "{{info_request_user_name}} samo:"
+msgstr "samo {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
-msgstr ""
-
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
+msgstr "Zahtev koji se poziva na {{law_used_full}} - {{title}}"
msgid "{{law_used}} requests at {{public_body}}"
-msgstr ""
+msgstr "Zahtevi vezani za {{law_used}} za ustanovu {{public_body}}"
msgid "{{length_of_time}} ago"
msgstr "pre {{length_of_time}}"
msgid "{{list_of_things}} matching text '{{search_query}}'"
-msgstr ""
+msgstr "{{list_of_things}} odgovara upitu '{{search_query}}'"
msgid "{{number_of_comments}} comments"
-msgstr "{{number_of_comments}} komentara"
+msgstr "{{number_of_comments}} komentar/a"
msgid "{{public_body_link}} answered a request about"
-msgstr ""
+msgstr "{{public_body_link}} su već odgovorili na zahtev u vezi"
msgid "{{public_body_link}} was sent a request about"
-msgstr ""
+msgstr "{{public_body_link}} su već primili zahtev u vezi"
msgid "{{public_body_name}} only:"
-msgstr "{{public_body_name}} samo:"
+msgstr "samo {{public_body_name}}:"
msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
-msgstr ""
+msgstr "{{public_body}} su tražili da razjasnite deo Vašeg zahteva vezanog za {{law_used}}."
msgid "{{public_body}} sent a response to {{user_name}}"
-msgstr "{{public_body}} je poslao/la poruku za {{user_name}}"
+msgstr "{{public_body}} su poslali poruku za korisnika {{user_name}}"
msgid "{{reason}}, please sign in or make a new account."
-msgstr ""
+msgstr "{{reason}}, molimo prijavite se na sistem ili se registrujte."
msgid "{{search_results}} matching '{{query}}'"
-msgstr ""
+msgstr "{{search_results}} odgovaraju upitu '{{query}}'"
msgid "{{site_name}} blog and tweets"
-msgstr "{{site_name}} blogovi i tweet-ovi"
+msgstr "blog i tweet-ovi {{site_name}} "
msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
-msgstr ""
+msgstr "{{site_name}} podržava zahteve za {{number_of_authorities}} ustanova, uključujući:"
msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
-msgstr "{{site_name}} šalje nove zahteve <strong>{{request_email}}</strong> za ovu javnu ustanovu."
+msgstr "Za ovu ustanovu {{site_name}} nove zahteve šalje na adresu <strong>{{request_email}}</strong>."
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
-msgstr "korisnici {{site_name}} su podneli {{number_of_requests}} zahteva, uključujući:"
+msgstr "Korisnici {{site_name}} su podneli {{number_of_requests}} zahteva, uključujući:"
msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
-msgstr ""
+msgstr "{{thing_changed}} je promenjeno sa <code>{{from_value}}</code> na <code>{{to_value}}</code>"
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
-msgstr ""
+msgstr "{{title}} - Zahtev za slobodan pristup informacijama od javnog značaja upućen ustanovi {{public_body}}"
msgid "{{user_name}} (Account suspended)"
-msgstr ""
+msgstr "{{user_name}} (blokiran profil)"
msgid "{{user_name}} - Freedom of Information requests"
-msgstr ""
+msgstr "{{user_name}} - Zahtevi za slobodan pristup informacijama od javnog značaja"
msgid "{{user_name}} - user profile"
-msgstr ""
+msgstr "{{user_name}} - korisnički profil"
msgid "{{user_name}} added an annotation"
-msgstr "{{user_name}} je dodao napomenu"
+msgstr "{{user_name}} je dodao/la napomenu"
msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
msgstr ""
-"{{user_name}} su komentarisali Vaš {{law_used_short}} \n"
-"zahtev. Pratite ovaj link da vidite šta su napisali."
+"{{user_name}} su komentarisali Vaš zahtev vezan za {{law_used_short}}.\n"
+"Pratite ovaj link da vidite šta su napisali."
msgid "{{user_name}} has used {{site_name}} to send you the message below."
-msgstr "{{user_name}} je koristio {{site_name}} da Vam pošalje poruku ispod."
+msgstr "{{user_name}} je upotrebio/la sistem {{site_name}} da Vam pošalje poruku ispod."
msgid "{{user_name}} sent a follow up message to {{public_body}}"
-msgstr ""
+msgstr "{{user_name}} je poslao/la reakciju za {{public_body}}"
msgid "{{user_name}} sent a request to {{public_body}}"
-msgstr "{{user_name}} je poslao zahtev za {{public_body}}"
+msgstr "{{user_name}} je poslao/la zahtev za {{public_body}}"
msgid "{{username}} left an annotation:"
-msgstr "{{username}} je ostavio napomenu:"
+msgstr "{{username}} je ostavio/la napomenu:"
msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
-msgstr "{{user}} ({{user_admin_link}}) je podnio ovaj {{law_used_full}} zahtev (<a href=\"{{request_admin_url}}\">admin</a>) za {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr "{{user}} ({{user_admin_link}}) je podneo ovaj zahtev vezan za {{law_used_full}} (<a href=\"{{request_admin_url}}\">admin</a>) za ustanovu '{{public_body_link}}' (<a href=\"{{public_body_admin_url}}\">admin</a>)"
msgid "{{user}} made this {{law_used_full}} request"
-msgstr "{{user}} je podnio/la ovaj {{law_used_full}} zahtev"
+msgstr "{{user}} je podneo/la ovaj zahtev pozivajući se na {{law_used_full}}"
diff --git a/locale/sv/app.po b/locale/sv/app.po
index 15eb35a7e..b820de7b9 100644
--- a/locale/sv/app.po
+++ b/locale/sv/app.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/alaveteli/language/sv/)\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
@@ -806,15 +806,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1789,6 +1798,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2718,18 +2730,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3419,9 +3425,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/sw_KE/app.po b/locale/sw_KE/app.po
new file mode 100644
index 000000000..ad9610194
--- /dev/null
+++ b/locale/sw_KE/app.po
@@ -0,0 +1,3510 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-25 09:13+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
+"Language-Team: Swahili (Kenya) (http://www.transifex.com/projects/p/alaveteli/language/sw_KE/)\n"
+"Language: sw_KE\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"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr ""
+
+msgid " - view and make Freedom of Information requests"
+msgstr ""
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr ""
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr ""
+
+msgid " You are already being emailed updates about the request."
+msgstr ""
+
+msgid " You will also be emailed updates about the request."
+msgstr ""
+
+msgid " made by "
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid " when you send this message."
+msgstr ""
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr ""
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr ""
+
+msgid "1. Select an authority"
+msgstr ""
+
+msgid "2. Ask for Information"
+msgstr ""
+
+msgid "3. Now check your request"
+msgstr ""
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr ""
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr ""
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr ""
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr ""
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr ""
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr ""
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr ""
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr ""
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr ""
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr ""
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr ""
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr ""
+
+msgid "A vexatious request"
+msgstr ""
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr ""
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr ""
+
+msgid "Advanced search tips"
+msgstr ""
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr ""
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr ""
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr ""
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr ""
+
+msgid "Annotations"
+msgstr ""
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr ""
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr ""
+
+msgid "Anyone:"
+msgstr ""
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr ""
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr ""
+
+msgid "Attachment:"
+msgstr ""
+
+msgid "Awaiting classification."
+msgstr ""
+
+msgid "Awaiting internal review."
+msgstr ""
+
+msgid "Awaiting response."
+msgstr ""
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr ""
+
+msgid "Browse all authorities..."
+msgstr ""
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr ""
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr ""
+
+msgid "Classify an FOI response from "
+msgstr ""
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr ""
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr ""
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr ""
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr ""
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr ""
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr ""
+
+msgid "FOI email address for {{public_body}}"
+msgstr ""
+
+msgid "FOI request – {{title}}"
+msgstr ""
+
+msgid "FOI requests"
+msgstr ""
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr ""
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr ""
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr ""
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr ""
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr ""
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr ""
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Freedom of Information"
+msgstr ""
+
+msgid "Freedom of Information Act"
+msgstr ""
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to"
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr ""
+
+msgid "Freedom of Information requests made"
+msgstr ""
+
+msgid "Freedom of Information requests made by this person"
+msgstr ""
+
+msgid "Freedom of Information requests made by you"
+msgstr ""
+
+msgid "Freedom of Information requests made using this site"
+msgstr ""
+
+msgid "Freedom of information requests to"
+msgstr ""
+
+msgid "From"
+msgstr ""
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr ""
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr ""
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr ""
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr ""
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr ""
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr ""
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr ""
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr ""
+
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr ""
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr ""
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr ""
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr ""
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr ""
+
+msgid "More requests..."
+msgstr ""
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr ""
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr ""
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr ""
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr ""
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr ""
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr ""
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr ""
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr ""
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr ""
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr ""
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr ""
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr ""
+
+msgid "Please enter your old email address"
+msgstr ""
+
+msgid "Please enter your password"
+msgstr ""
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr ""
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr ""
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr ""
+
+msgid "Public authorities - {{description}}"
+msgstr ""
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Public authority – {{name}}"
+msgstr ""
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr ""
+
+msgid "Public bodies with most overdue requests"
+msgstr ""
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr ""
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr ""
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr ""
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr ""
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr ""
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr ""
+
+msgid "Select the authority to write to"
+msgstr ""
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr ""
+
+msgid "Some notes have been added to your FOI request - "
+msgstr ""
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr ""
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr ""
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr ""
+
+msgid "Subject:"
+msgstr ""
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr ""
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr ""
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr ""
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr ""
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr ""
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr ""
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr ""
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr ""
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr ""
+
+msgid "The public authority would like part of the request explained"
+msgstr ""
+
+msgid "The public authority would like to / has responded by post"
+msgstr ""
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr ""
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr ""
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr ""
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr ""
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr ""
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr ""
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr ""
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr ""
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr ""
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr ""
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr ""
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr ""
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr ""
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr ""
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr ""
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr ""
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr ""
+
+msgid "To update the status of this FOI request"
+msgstr ""
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr ""
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr ""
+
+msgid "Today"
+msgstr ""
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr ""
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr ""
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr ""
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr ""
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr ""
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr ""
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr ""
+
+msgid "Waiting for the public authority to reply"
+msgstr ""
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr ""
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr ""
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr ""
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr ""
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr ""
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr ""
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr ""
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr ""
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr ""
+
+msgid "Your password:"
+msgstr ""
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr ""
+
+msgid "Your response to an FOI request was not delivered"
+msgstr ""
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr ""
+
+msgid "Yours sincerely,"
+msgstr ""
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr ""
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr ""
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr ""
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr ""
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr ""
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr ""
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr ""
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr ""
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr ""
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr ""
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/locale/tr/app.po b/locale/tr/app.po
index 1d6cb9d33..56ac010da 100644
--- a/locale/tr/app.po
+++ b/locale/tr/app.po
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/alaveteli/language/tr/)\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
@@ -808,15 +808,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1791,6 +1800,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2720,18 +2732,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3421,9 +3427,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/uk/app.po b/locale/uk/app.po
index 52c85a9c0..2cc14351c 100644
--- a/locale/uk/app.po
+++ b/locale/uk/app.po
@@ -13,10 +13,10 @@
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/alaveteli/language/uk/)\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
@@ -882,15 +882,24 @@ msgstr "Відслідковувати цю людину"
msgid "Follow this request"
msgstr "Відслідковувати цей запит"
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr "Додатковий запит"
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr "Уточнююче повідомлення надіслане автором запиту"
msgid "Follow up messages to existing requests are sent to "
msgstr "Додаткові запити щодо наявних запитів відіслано до "
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr "Надсилання додаткових запитів та нових відповідей на цей запит припинено, щоб попередити спам. Будь ласка, <a href=\"{{url}}\">зверніться до нас</a> якщо ви {{user_link}} і хочете надіслати додатковий запит."
@@ -1904,6 +1913,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2847,18 +2859,12 @@ msgstr ""
msgid "User|About me"
msgstr "Користувач|Про мене"
-msgid "User|Address"
-msgstr "Користувач|Адреса"
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr "Користувач|Мейл"
@@ -3586,9 +3592,6 @@ msgstr "Тільки {{info_request_user_name}}:"
msgid "{{law_used_full}} request - {{title}}"
msgstr "Інформаційний запит - {{title}}"
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/vi/app.po b/locale/vi/app.po
index 28bc581bd..2389b351d 100644
--- a/locale/vi/app.po
+++ b/locale/vi/app.po
@@ -3,16 +3,17 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Anh Phan <ppanhh@gmail.com>, 2013
+# ppanhh <vietnamesel10n@gmail.com>, 2013
# ppanhh <ppanhh@gmail.com>, 2013
-# ppanhh <ppanhh@gmail.com>, 2013
-# ppanhh <ppanhh@gmail.com>, 2013
+# ppanhh <vietnamesel10n@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
-"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2013-09-19 10:47+0100\n"
-"PO-Revision-Date: 2013-09-19 09:50+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/alaveteli/language/vi/)\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
@@ -21,10 +22,10 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
-msgstr ""
+msgstr " Phần này sẽ xuất hiện trên trang hồ sơ {{site_name}} , để làm trang này trở nên\\n dễ tham gia vào các tiến trình bạn đang thực hiện."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
-msgstr ""
+msgstr " (<strong>không bao gồm</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
msgstr " (<strong>kiên nhẫn</strong>, đặc biệt đối với các tập tin lớn, sẽ tốn kha khá thời gian!)"
@@ -809,15 +810,24 @@ msgstr ""
msgid "Follow this request"
msgstr ""
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
msgid "Follow up"
msgstr ""
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
msgid "Follow up message sent by requester"
msgstr ""
msgid "Follow up messages to existing requests are sent to "
msgstr ""
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
@@ -1791,6 +1801,9 @@ msgstr ""
msgid "PublicBody|Info requests successful count"
msgstr ""
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
msgid "PublicBody|Last edit comment"
msgstr ""
@@ -2716,18 +2729,12 @@ msgstr ""
msgid "User|About me"
msgstr ""
-msgid "User|Address"
-msgstr ""
-
msgid "User|Admin level"
msgstr ""
msgid "User|Ban text"
msgstr ""
-msgid "User|Dob"
-msgstr ""
-
msgid "User|Email"
msgstr ""
@@ -3411,9 +3418,6 @@ msgstr ""
msgid "{{law_used_full}} request - {{title}}"
msgstr ""
-msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
-
msgid "{{law_used}} requests at {{public_body}}"
msgstr ""
diff --git a/locale/zh_HK/app.po b/locale/zh_HK/app.po
new file mode 100644
index 000000000..e64c7063b
--- /dev/null
+++ b/locale/zh_HK/app.po
@@ -0,0 +1,3499 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-08 14:22+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
+"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/alaveteli/language/zh_HK/)\n"
+"Language: zh_HK\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr ""
+
+msgid " - view and make Freedom of Information requests"
+msgstr ""
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr ""
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr ""
+
+msgid " You are already being emailed updates about the request."
+msgstr ""
+
+msgid " You will also be emailed updates about the request."
+msgstr ""
+
+msgid " made by "
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid " when you send this message."
+msgstr ""
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr ""
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr ""
+
+msgid "1. Select an authority"
+msgstr ""
+
+msgid "2. Ask for Information"
+msgstr ""
+
+msgid "3. Now check your request"
+msgstr ""
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr ""
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr ""
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr ""
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr ""
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr ""
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr ""
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr ""
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr ""
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr ""
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr ""
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr ""
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr ""
+
+msgid "A vexatious request"
+msgstr ""
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr ""
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr ""
+
+msgid "Advanced search tips"
+msgstr ""
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr ""
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr ""
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr ""
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr ""
+
+msgid "Annotations"
+msgstr ""
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr ""
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr ""
+
+msgid "Anyone:"
+msgstr ""
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr ""
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr ""
+
+msgid "Attachment:"
+msgstr ""
+
+msgid "Awaiting classification."
+msgstr ""
+
+msgid "Awaiting internal review."
+msgstr ""
+
+msgid "Awaiting response."
+msgstr ""
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr ""
+
+msgid "Browse all authorities..."
+msgstr ""
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr ""
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr ""
+
+msgid "Classify an FOI response from "
+msgstr ""
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr ""
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr ""
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr ""
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr ""
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr ""
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr ""
+
+msgid "FOI email address for {{public_body}}"
+msgstr ""
+
+msgid "FOI request – {{title}}"
+msgstr ""
+
+msgid "FOI requests"
+msgstr ""
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr ""
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr ""
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr ""
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr ""
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr ""
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr ""
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] ""
+
+msgid "Freedom of Information"
+msgstr ""
+
+msgid "Freedom of Information Act"
+msgstr ""
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to"
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr ""
+
+msgid "Freedom of Information requests made"
+msgstr ""
+
+msgid "Freedom of Information requests made by this person"
+msgstr ""
+
+msgid "Freedom of Information requests made by you"
+msgstr ""
+
+msgid "Freedom of Information requests made using this site"
+msgstr ""
+
+msgid "Freedom of information requests to"
+msgstr ""
+
+msgid "From"
+msgstr ""
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr ""
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr ""
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr ""
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr ""
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr ""
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr ""
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr ""
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr ""
+
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr ""
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr ""
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr ""
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr ""
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr ""
+
+msgid "More requests..."
+msgstr ""
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr ""
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr ""
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr ""
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr ""
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr ""
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr ""
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr ""
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr ""
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr ""
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr ""
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr ""
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr ""
+
+msgid "Please enter your old email address"
+msgstr ""
+
+msgid "Please enter your password"
+msgstr ""
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr ""
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr ""
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr ""
+
+msgid "Public authorities - {{description}}"
+msgstr ""
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Public authority – {{name}}"
+msgstr ""
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr ""
+
+msgid "Public bodies with most overdue requests"
+msgstr ""
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr ""
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr ""
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr ""
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr ""
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr ""
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] ""
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr ""
+
+msgid "Select the authority to write to"
+msgstr ""
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr ""
+
+msgid "Some notes have been added to your FOI request - "
+msgstr ""
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr ""
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr ""
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr ""
+
+msgid "Subject:"
+msgstr ""
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr ""
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr ""
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr ""
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr ""
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr ""
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr ""
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr ""
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr ""
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr ""
+
+msgid "The public authority would like part of the request explained"
+msgstr ""
+
+msgid "The public authority would like to / has responded by post"
+msgstr ""
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr ""
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr ""
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr ""
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr ""
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr ""
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr ""
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr ""
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr ""
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr ""
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr ""
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr ""
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr ""
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr ""
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] ""
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr ""
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr ""
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr ""
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr ""
+
+msgid "To update the status of this FOI request"
+msgstr ""
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr ""
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr ""
+
+msgid "Today"
+msgstr ""
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr ""
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr ""
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr ""
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr ""
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr ""
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr ""
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr ""
+
+msgid "Waiting for the public authority to reply"
+msgstr ""
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr ""
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr ""
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr ""
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr ""
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr ""
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr ""
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr ""
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr ""
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr ""
+
+msgid "Your password:"
+msgstr ""
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr ""
+
+msgid "Your response to an FOI request was not delivered"
+msgstr ""
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] ""
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr ""
+
+msgid "Yours sincerely,"
+msgstr ""
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr ""
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr ""
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr ""
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr ""
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr ""
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr ""
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr ""
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] ""
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] ""
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr ""
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr ""
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr ""
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/public/404.html b/public/404.html
deleted file mode 100644
index 9a48320a5..000000000
--- a/public/404.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>The page you were looking for doesn't exist (404)</title>
- <style type="text/css">
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
- div.dialog {
- width: 25em;
- padding: 0 4em;
- margin: 4em auto 0 auto;
- border: 1px solid #ccc;
- border-right-color: #999;
- border-bottom-color: #999;
- }
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
- </style>
-</head>
-
-<body>
- <!-- This file lives in public/404.html -->
- <div class="dialog">
- <h1>The page you were looking for doesn't exist.</h1>
- <p>You may have mistyped the address or the page may have moved.</p>
- </div>
-</body>
-</html>
diff --git a/public/422.html b/public/422.html
deleted file mode 100644
index 83660ab18..000000000
--- a/public/422.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>The change you wanted was rejected (422)</title>
- <style type="text/css">
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
- div.dialog {
- width: 25em;
- padding: 0 4em;
- margin: 4em auto 0 auto;
- border: 1px solid #ccc;
- border-right-color: #999;
- border-bottom-color: #999;
- }
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
- </style>
-</head>
-
-<body>
- <!-- This file lives in public/422.html -->
- <div class="dialog">
- <h1>The change you wanted was rejected.</h1>
- <p>Maybe you tried to change something you didn't have access to.</p>
- </div>
-</body>
-</html>
diff --git a/public/500.html b/public/500.html
deleted file mode 100644
index b80307fc1..000000000
--- a/public/500.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>We're sorry, but something went wrong (500)</title>
- <style type="text/css">
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
- div.dialog {
- width: 25em;
- padding: 0 4em;
- margin: 4em auto 0 auto;
- border: 1px solid #ccc;
- border-right-color: #999;
- border-bottom-color: #999;
- }
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
- </style>
-</head>
-
-<body>
- <!-- This file lives in public/500.html -->
- <div class="dialog">
- <h1>We're sorry, but something went wrong.</h1>
- <p>We've been notified about this issue and we'll take a look at it shortly.</p>
- </div>
-</body>
-</html>
diff --git a/public/admin/javascripts/admin.js b/public/admin/javascripts/admin.js
deleted file mode 100644
index 9daa51459..000000000
--- a/public/admin/javascripts/admin.js
+++ /dev/null
@@ -1,32 +0,0 @@
-(function() {
- jQuery(function() {
- $('.locales a:first').tab('show');
- $('.accordion-body').on('hidden', function() {
- return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-right');
- });
- $('.accordion-body').on('shown', function() {
- return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-down');
- });
- $('.toggle-hidden').live('click', function() {
- $(this).parents('td').find('div:hidden').show();
- return false;
- });
- return $('#request_hidden_user_explanation_reasons input').live('click', function() {
- var info_request_id, reason;
- $('#request_hidden_user_subject, #request_hidden_user_explanation, #request_hide_button').show();
- info_request_id = $('#hide_request_form').attr('data-info-request-id');
- reason = $(this).val();
- $('#request_hidden_user_explanation_field').attr("value", "[loading default text...]");
- return $.ajax("/hidden_user_explanation?reason=" + reason + "&info_request_id=" + info_request_id, {
- type: "GET",
- dataType: "text",
- error: function(data, textStatus, jqXHR) {
- return $('#request_hidden_user_explanation_field').attr("value", "Error: " + textStatus);
- },
- success: function(data, textStatus, jqXHR) {
- return $('#request_hidden_user_explanation_field').attr("value", data);
- }
- });
- });
- });
-}).call(this);
diff --git a/public/admin/javascripts/jquery-ui.min.js b/public/admin/javascripts/jquery-ui.min.js
deleted file mode 100644
index f00a62f13..000000000
--- a/public/admin/javascripts/jquery-ui.min.js
+++ /dev/null
@@ -1,356 +0,0 @@
-/*!
- * jQuery UI 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;if(b[d]>0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}}))})(jQuery);/*!
- * jQuery UI Widget 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}});return d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e;if(f&&e.charAt(0)==="_")return h;f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b){h=f;return!1}}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))});return h}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}this._setOptions(e);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);this.element.trigger(c,d);return!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);/*!
- * jQuery UI Mouse 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent")){a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation();return!1}}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted){b.preventDefault();return!0}}!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0;return!0}},_mouseMove:function(b){if(a.browser.msie&&!(document.documentMode>=9)&&!b.button)return this._mouseUp(b);if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b));return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b));return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);/*
- * jQuery UI Position 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Position
- */(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1];return this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]!==e){var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0}},top:function(b,c){if(c.at[1]!==e){var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];if(!c||!c.ownerDocument)return null;if(b)return this.each(function(){a.offset.setOffset(this,b)});return h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);/*
- * jQuery UI Draggable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Draggables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!!this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy();return this}},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle"))return!1;this.handle=this._getHandle(b);if(!this.handle)return!1;c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")});return!0},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment();if(this._trigger("start",b)===!1){this._clear();return!1}this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b);return!0},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1){this._mouseUp({});return!1}this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,b);return!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var d=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){d._trigger("stop",b)!==!1&&d._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b);return a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)});return c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute"));return a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.18"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!!e.length){var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);/*
- * jQuery UI Droppable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Droppables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.mouse.js
- * jquery.ui.draggable.js
- */(function(a,b){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var b=this.options,c=b.accept;this.isover=0,this.isout=1,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++)b[c]==this&&b.splice(c,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(b,c){b=="accept"&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current;if(!d||(d.currentItem||d.element)[0]==this.element[0])return!1;var e=!1;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope==d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance)){e=!0;return!1}});if(e)return!1;if(this.accept.call(this.element[0],d.currentItem||d.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d));return this.element}return!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.extend(a.ui.droppable,{version:"1.8.18"}),a.ui.intersect=function(b,c,d){if(!c.offset)return!1;var e=(b.positionAbs||b.position.absolute).left,f=e+b.helperProportions.width,g=(b.positionAbs||b.position.absolute).top,h=g+b.helperProportions.height,i=c.offset.left,j=i+c.proportions.width,k=c.offset.top,l=k+c.proportions.height;switch(d){case"fit":return i<=e&&f<=j&&k<=g&&h<=l;case"intersect":return i<e+b.helperProportions.width/2&&f-b.helperProportions.width/2<j&&k<g+b.helperProportions.height/2&&h-b.helperProportions.height/2<l;case"pointer":var m=(b.positionAbs||b.position.absolute).left+(b.clickOffset||b.offset.click).left,n=(b.positionAbs||b.position.absolute).top+(b.clickOffset||b.offset.click).top,o=a.ui.isOver(n,m,k,i,c.proportions.height,c.proportions.width);return o;case"touch":return(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l)&&(e>=i&&e<=j||f>=i&&f<=j||e<i&&f>j);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();droppablesLoop:for(var g=0;g<d.length;g++){if(d[g].options.disabled||b&&!d[g].accept.call(d[g].element[0],b.currentItem||b.element))continue;for(var h=0;h<f.length;h++)if(f[h]==d[g].element[0]){d[g].proportions.height=0;continue droppablesLoop}d[g].visible=d[g].element.css("display")!="none";if(!d[g].visible)continue;e=="mousedown"&&d[g]._activate.call(d[g],c),d[g].offset=d[g].element.offset(),d[g].proportions={width:d[g].element[0].offsetWidth,height:d[g].element[0].offsetHeight}}},drop:function(b,c){var d=!1;a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){!this.options||(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,c)))});return d},dragStart:function(b,c){b.element.parents(":not(body,html)").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var d=a.ui.intersect(b,this,this.options.tolerance),e=!d&&this.isover==1?"isout":d&&this.isover==0?"isover":null;if(!e)return;var f;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");g.length&&(f=a.data(g[0],"droppable"),f.greedyChild=e=="isover"?1:0)}f&&e=="isover"&&(f.isover=0,f.isout=1,f._out.call(f,c)),this[e]=1,this[e=="isout"?"isover":"isout"]=0,this[e=="isover"?"_over":"_out"].call(this,c),f&&e=="isout"&&(f.isout=0,f.isover=1,f._over.call(f,c))}})},dragStop:function(b,c){b.element.parents(":not(body,html)").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}})(jQuery);/*
- * jQuery UI Resizable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');/sw|se|ne|nw/.test(f)&&h.css({zIndex:++c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){c.disabled||(a(this).removeClass("ui-resizable-autohide"),b._handles.show())},function(){c.disabled||b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement);return this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b);return!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui());return!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width));return a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){var b=this.options;if(!!this._proportionallyResizeElements.length){var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(a.browser.msie&&(!!a(c).is(":hidden")||!!a(c).parents(":hidden").length))continue;e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.18"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!!i){e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/e.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*e.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);/*
- * jQuery UI Selectable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Selectables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy();return this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(!this.options.disabled){var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element});return!1}})}},_mouseDrag:function(b){var c=this;this.dragged=!0;if(!this.options.disabled){var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!!i&&i.element!=c.element[0]){var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.right<e||i.top>h||i.bottom<f):d.tolerance=="fit"&&(j=i.left>e&&i.right<g&&i.top>f&&i.bottom<h),j?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,c._trigger("selecting",b,{selecting:i.element}))):(i.selecting&&((b.metaKey||b.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),c._trigger("unselecting",b,{unselecting:i.element}))),i.selected&&!b.metaKey&&!b.ctrlKey&&!i.startselected&&(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,c._trigger("unselecting",b,{unselecting:i.element})))}});return!1}},_mouseStop:function(b){var c=this;this.dragged=!1;var d=this.options;a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove();return!1}}),a.extend(a.ui.selectable,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Sortable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Sortables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f){e=a(this);return!1}});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}this.currentItem=e,this._removeCurrentsFromItems();return!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b);return!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs;return!1},_mouseStop:function(b,c){if(!!b){a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem));return this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"=");return d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")});return d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();if(!e)return!1;return this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1)},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a),this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];e||(b.style.visibility="hidden");return b},update:function(a,b){if(!e||!!d.forcePlaceholderSize)b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!!c)if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i])}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height());return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}this.fromOutside=!1;return!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Accordion 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Accordion
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c.disabled||a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c.disabled||a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c.disabled||a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c.disabled||a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("<span></span>").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");(b.autoHeight||b.fillHeight)&&c.css("height","");return a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(!(this.options.disabled||b.altKey||b.ctrlKey)){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}if(f){a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus();return!1}return!0}},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];this._clickHandler({target:b},b);return this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(!d.disabled){if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return}},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!!g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;this.running||(this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data))}}),a.extend(a.ui.accordion,{version:"1.8.18",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size())b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);else{if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})}},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);/*
- * jQuery UI Autocomplete 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.position.js
- */(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!b.options.disabled&&!b.element.propAttr("readOnly")){d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._move("previous",c),c.preventDefault();break;case e.DOWN:b._move("next",c),c.preventDefault();break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){b.options.disabled||(b.selectedItem=null,b.previous=b.element.val())}).bind("blur.autocomplete",function(a){b.options.disabled||(clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150))}),this._initSource(),this.response=function(){return b._response.apply(b,arguments)},this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,d,e;a.isArray(this.options.source)?(d=this.options.source,this.source=function(b,c){c(a.ui.autocomplete.filter(d,b.term))}):typeof this.options.source=="string"?(e=this.options.source,this.source=function(d,f){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:e,data:d,dataType:"json",context:{autocompleteRequest:++c},success:function(a,b){this.autocompleteRequest===c&&f(a)},error:function(){this.autocompleteRequest===c&&f([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==!1)return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this.response)},_response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close(),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.deactivate(),this._trigger("close",a))},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){if(b.length&&b[0].label&&b[0].value)return b;return a.map(b,function(b){if(typeof b=="string")return{label:b,value:b};return a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible"))this.search(null,b);else{if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)}},widget:function(){return this.menu.element}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){!a(c.target).closest(".ui-menu-item a").length||(c.preventDefault(),b.select(c))}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){!this.active||(this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null)},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active)this.activate(c,this.element.children(b));else{var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))}},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10}),result.length||(result=this.element.children(".ui-menu-item:first")),this.activate(b,result)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);/*
- * jQuery UI Button 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Button
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);c&&(d?e=a(d).find("[name='"+c+"']"):e=a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form}));return e};a.widget("ui.button",{options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",j),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.propAttr("disabled"):this.element.propAttr("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(i?"":" ui-state-active"),m="ui-state-focus";h.label===null&&(h.label=this.buttonElement.html()),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter.button",function(){h.disabled||(a(this).addClass("ui-state-hover"),this===c&&a(this).addClass("ui-state-active"))}).bind("mouseleave.button",function(){h.disabled||a(this).removeClass(l)}).bind("click.button",function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus.button",function(){b.buttonElement.addClass(m)}).bind("blur.button",function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change.button",function(){f||b.refresh()}),this.buttonElement.bind("mousedown.button",function(a){h.disabled||(f=!1,d=a.pageX,e=a.pageY)}).bind("mouseup.button",function(a){!h.disabled&&(d!==a.pageX||e!==a.pageY)&&(f=!0)})),this.type==="checkbox"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).toggleClass("ui-state-active"),b.buttonElement.attr("aria-pressed",b.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown.button",function(){if(h.disabled)return!1;a(this).addClass("ui-state-active"),c=this,a(document).one("mouseup",function(){c=null})}).bind("mouseup.button",function(){if(h.disabled)return!1;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(b){if(h.disabled)return!1;(b.keyCode==a.ui.keyCode.SPACE||b.keyCode==a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){this.element.is(":checkbox")?this.type="checkbox":this.element.is(":radio")?this.type="radio":this.element.is("input")?this.type="input":this.type="button";if(this.type==="checkbox"||this.type==="radio"){var a=this.element.parents().filter(":last"),b="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible");var c=this.element.is(":checked");c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.attr("aria-pressed",c)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title"),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);b==="disabled"?c?this.element.propAttr("disabled",!0):this.element.propAttr("disabled",!1):this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b),this.type==="radio"?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type==="checkbox"&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);/*
- * jQuery UI Dialog 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.button.js
- * jquery.ui.draggable.js
- * jquery.ui.mouse.js
- * jquery.ui.position.js
- * jquery.ui.resizable.js
- */(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){b.close(a);return!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("<span></span>").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1!==c._trigger("beforeClose",b)){c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d);return c}},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;if(e.modal&&!b||!e.stack&&!e.modal)return d._trigger("focus",c);e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c);return d},open:function(){if(!this._isOpen){var b=this,c=b.options,d=b.uiDialog;b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode===a.ui.keyCode.TAB){var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey){d.focus(1);return!1}if(b.target===d[0]&&b.shiftKey){e.focus(1);return!1}}}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open");return b}},_createButtons:function(b){var c=this,d=!1,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('<button type="button"></button>').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){a!=="click"&&(a in f?e[a](b):e.attr(a,b))}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.18",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");b||(this.uuid+=1,b=this.uuid);return"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop()||a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});a.fn.bgiframe&&c.bgiframe(),this.instances.push(c);return c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;if(a.browser.msie&&a.browser.version<7){b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return b<c?a(window).height()+"px":b+"px"}return a(document).height()+"px"},width:function(){var b,c;if(a.browser.msie){b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return b<c?a(window).width()+"px":b+"px"}return a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);/*
- * jQuery UI Slider 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(!b.options.disabled){switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"),this._mouseDestroy();return this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;if(c.disabled)return!1;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i);if(j===!1)return!1;this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0;return!0},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);this._slide(a,this._handleIndex,c);return!1},_mouseStop:function(a){this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1;return!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e;return this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values());return this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("change",a,c)}},value:function(a){if(arguments.length)this.options.value=this._trimAlignValue(a),this._refreshValue(),this._change(null,0);else return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);else{if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()}},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;a=this._trimAlignValue(a);return a},_values:function(a){var b,c,d;if(arguments.length){b=this.options.values[a],b=this._trimAlignValue(b);return b}c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;Math.abs(c)*2>=b&&(d+=c>0?b:-b);return parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Tabs 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){function f(){return++d}function e(){return++c}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash){e.selected=a;return!1}}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1){this.blur();return!1}e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected")){e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur();return!1}if(!f.length){e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur();return!1}}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$="+a+"]")));return a},destroy:function(){var b=this.options;this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie);return this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0]));return this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a])));return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup();return this},url:function(a,b){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b);return this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.18"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){t=d.selected,e()}:function(a){a.clientX&&c.rotate(null)});a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate);return this}})})(jQuery);/*
- * jQuery UI Datepicker 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */(function($,undefined){function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);!c.length||c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);!$.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])&&!!d.length&&(d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover"))})}function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}$.extend($.ui,{datepicker:{version:"1.8.18"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){extendRemove(this._defaults,a||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);c.hasClass(this.markerClassName)||(this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a))},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){$.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]);return!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);c.hasClass(this.markerClassName)||(c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block"))},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f);return this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})}},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);c&&!c.inline&&this._setDateFromField(c,b);return c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(a){$.datepicker.log(a)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if(!$.datepicker._isDisabledDatepicker(a)&&$.datepicker._lastInput!=a){var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){e|=$(this).css("position")=="fixed";return!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0);return b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=$.data(a,PROP_NAME))&&this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=this,f=function(){$.datepicker._tidyDialog(b),e._curInst=null};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,f):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,f),c||f(),this._datepickerShowing=!1;var g=this._get(b,"onClose");g&&g.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!!$.datepicker._curInst){var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);this._isDisabledDatepicker(d[0])||(this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e))},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if(!$(d).hasClass(this._unselectableClass)&&!this._isDisabledDatepicker(e[0])){var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();b.setMonth(0),b.setDate(1);return Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;c&&s++;return c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;r+=f[0].length;return parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase()){f=c[0],r+=d.length;return!1}});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;for(;;){var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;c&&m++;return c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;c&&e++;return c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var d=function(a){var b=new Date;b.setDate(b.getDate()+a);return b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0));return this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),
-a._keyEvent=!1;return K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>";return l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;e=d&&e>d?d:e;return e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth()));return this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));return this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)})},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.18",window["DP_jQuery_"+dpuuid]=$})(jQuery);/*
- * jQuery UI Progressbar 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Progressbar
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===b)return this._value();this._setOption("value",a);return this},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;typeof a!="number"&&(a=0);return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Effects 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/
- */jQuery.effects||function(a,b){function l(b){if(!b||typeof b=="number"||a.fx.speeds[b])return!0;if(typeof b=="string"&&!a.effects[b])return!0;return!1}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete;return[b,c,d,e]}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function d(b,d){var e;do{e=a.curCSS(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function c(b){var c;if(b&&b.constructor==Array&&b.length==3)return b;if(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))return[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)];if(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))return[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55];if(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)];if(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)];if(c=/rgba\(0, 0, 0, 0\)/.exec(b))return e.transparent;return e[a.trim(b).toLowerCase()]}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){a.isFunction(d)&&(e=d,d=null);return this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class");a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.18",save:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.data("ec.storage."+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.css(b[c],a.data("ec.storage."+b[c]))},setMode:function(a,b){b=="toggle"&&(b=a.is(":hidden")?"show":"hide");return b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"}));return d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;if(b.parent().is(".ui-effects-wrapper")){c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus();return c}return b},setTransition:function(b,c,d,e){e=e||{},a.each(c,function(a,c){unit=b.cssUnit(c),unit[0]>0&&(e[c]=unit[0]*d+unit[1])});return e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];if(a.fx.off||!i)return h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)});return i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="show";return this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="hide";return this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);c[1].mode="toggle";return this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])});return d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b+c;return-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b+c;return d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b+c;return-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b*b+c;return d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){if(b==0)return c;if(b==e)return c+d;if((b/=e/2)<1)return d/2*Math.pow(2,10*(b-1))+c;return d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){if((b/=e/2)<1)return-d/2*(Math.sqrt(1-b*b)-1)+c;return d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);if(b<1)return-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c;return h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*(c/=f)*c*((g+1)*c-g)+d},easeOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*((c=c/f-1)*c*((g+1)*c+g)+1)+d},easeInOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);if((c/=f/2)<1)return e/2*c*c*(((g*=1.525)+1)*c-g)+d;return e/2*((c-=2)*c*(((g*=1.525)+1)*c+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(b,c,d,e,f){if(c<f/2)return a.easing.easeInBounce(b,c*2,0,e,f)*.5+d;return a.easing.easeOutBounce(b,c*2-f,0,e,f)*.5+e*.5+d}})}(jQuery);/*
- * jQuery UI Effects Blind 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Blind
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
- * jQuery UI Effects Bounce 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Bounce
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight({margin:!0})/3:c.outerWidth({margin:!0})/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m<h;m++){var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing),g=e=="hide"?g*2:g/2}if(e=="hide"){var l={opacity:0};l[j]=(k=="pos"?"-=":"+=")+g,c.animate(l,i/2,b.options.easing,function(){c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}else{var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
- * jQuery UI Effects Clip 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Clip
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.clip=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","height","width"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=c[0].tagName=="IMG"?g:c,i={size:f=="vertical"?"height":"width",position:f=="vertical"?"top":"left"},j=f=="vertical"?h.height():h.width();e=="show"&&(h.css(i.size,0),h.css(i.position,j/2));var k={};k[i.size]=e=="show"?j:0,k[i.position]=e=="show"?0:j/2,h.animate(k,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Drop 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Drop
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.drop=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","opacity"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0})/2:c.outerWidth({margin:!0})/2);e=="show"&&c.css("opacity",0).css(g,h=="pos"?-i:i);var j={opacity:e=="show"?1:0};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Explode 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Explode
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.explode=function(b){return this.queue(function(){var c=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3,d=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":b.options.mode;var e=a(this).show().css("visibility","hidden"),f=e.offset();f.top-=parseInt(e.css("marginTop"),10)||0,f.left-=parseInt(e.css("marginLeft"),10)||0;var g=e.outerWidth(!0),h=e.outerHeight(!0);for(var i=0;i<c;i++)for(var j=0;j<d;j++)e.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);/*
- * jQuery UI Effects Fade 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Fade
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Fold 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Fold
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
- * jQuery UI Effects Highlight 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Highlight
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Pulsate 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Pulsate
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show");times=(b.options.times||5)*2-1,duration=b.duration?b.duration/2:a.fx.speeds._default/2,isVisible=c.is(":visible"),animateTo=0,isVisible||(c.css("opacity",0).show(),animateTo=1),(d=="hide"&&isVisible||d=="show"&&!isVisible)&&times--;for(var e=0;e<times;e++)c.animate({opacity:animateTo},duration,b.options.easing),animateTo=(animateTo+1)%2;c.animate({opacity:animateTo},duration,b.options.easing,function(){animateTo==0&&c.hide(),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);/*
- * jQuery UI Effects Scale 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Scale
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.puff=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide"),e=parseInt(b.options.percent,10)||150,f=e/100,g={height:c.height(),width:c.width()};a.extend(b.options,{fade:!0,mode:d,percent:d=="hide"?e:100,from:d=="hide"?g:{height:g.height*f,width:g.width*f}}),c.effect("scale",b.options,b.duration,b.callback),c.dequeue()})},a.effects.scale=function(b){return this.queue(function(){var c=a(this),d=a.extend(!0,{},b.options),e=a.effects.setMode(c,b.options.mode||"effect"),f=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:e=="hide"?0:100),g=b.options.direction||"both",h=b.options.origin;e!="effect"&&(d.origin=h||["middle","center"],d.restore=!0);var i={height:c.height(),width:c.width()};c.from=b.options.from||(e=="show"?{height:0,width:0}:i);var j={y:g!="horizontal"?f/100:1,x:g!="vertical"?f/100:1};c.to={height:i.height*j.y,width:i.width*j.x},b.options.fade&&(e=="show"&&(c.from.opacity=0,c.to.opacity=1),e=="hide"&&(c.from.opacity=1,c.to.opacity=0)),d.from=c.from,d.to=c.to,d.mode=e,c.effect("size",d,b.duration,b.callback),c.dequeue()})},a.effects.size=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","width","height","overflow","opacity"],e=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],g=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],j=a.effects.setMode(c,b.options.mode||"effect"),k=b.options.restore||!1,l=b.options.scale||"both",m=b.options.origin,n={height:c.height(),width:c.width()};c.from=b.options.from||n,c.to=b.options.to||n;if(m){var p=a.effects.getBaseline(m,n);c.from.top=(n.height-c.from.height)*p.y,c.from.left=(n.width-c.from.width)*p.x,c.to.top=(n.height-c.to.height)*p.y,c.to.left=(n.width-c.to.width)*p.x}var q={from:{y:c.from.height/n.height,x:c.from.width/n.width},to:{y:c.to.height/n.height,x:c.to.width/n.width}};if(l=="box"||l=="both")q.from.y!=q.to.y&&(d=d.concat(h),c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(d=d.concat(i),c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to));(l=="content"||l=="both")&&q.from.y!=q.to.y&&(d=d.concat(g),c.from=a.effects.setTransition(c,g,q.from.y,c.from),c.to=a.effects.setTransition(c,g,q.to.y,c.to)),a.effects.save(c,k?d:e),c.show(),a.effects.createWrapper(c),c.css("overflow","hidden").css(c.from);if(l=="content"||l=="both")h=h.concat(["marginTop","marginBottom"]).concat(g),i=i.concat(["marginLeft","marginRight"]),f=d.concat(h).concat(i),c.find("*[width]").each(function(){child=a(this),k&&a.effects.save(child,f);var c={height:child.height(),width:child.width()};child.from={height:c.height*q.from.y,width:c.width*q.from.x},child.to={height:c.height*q.to.y,width:c.width*q.to.x},q.from.y!=q.to.y&&(child.from=a.effects.setTransition(child,h,q.from.y,child.from),child.to=a.effects.setTransition(child,h,q.to.y,child.to)),q.from.x!=q.to.x&&(child.from=a.effects.setTransition(child,i,q.from.x,child.from),child.to=a.effects.setTransition(child,i,q.to.x,child.to)),child.css(child.from),child.animate(child.to,b.duration,b.options.easing,function(){k&&a.effects.restore(child,f)})});c.animate(c.to,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity),j=="hide"&&c.hide(),a.effects.restore(c,k?d:e),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Shake 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Shake
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.shake=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"left",g=b.options.distance||20,h=b.options.times||3,i=b.duration||b.options.duration||140;a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",l={},m={},n={};l[j]=(k=="pos"?"-=":"+=")+g,m[j]=(k=="pos"?"+=":"-=")+g*2,n[j]=(k=="pos"?"-=":"+=")+g*2,c.animate(l,i,b.options.easing);for(var p=1;p<h;p++)c.animate(m,i,b.options.easing).animate(n,i,b.options.easing);c.animate(m,i,b.options.easing).animate(l,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
- * jQuery UI Effects Slide 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Slide
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.slide=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"show"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c).css({overflow:"hidden"});var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0}):c.outerWidth({margin:!0}));e=="show"&&c.css(g,h=="pos"?isNaN(i)?"-"+i:-i:i);var j={};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Transfer 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Transfer
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery); \ No newline at end of file
diff --git a/public/admin/stylesheets/admin.css b/public/admin/stylesheets/admin.css
deleted file mode 100644
index 9c98ac432..000000000
--- a/public/admin/stylesheets/admin.css
+++ /dev/null
@@ -1,1005 +0,0 @@
-/* $iconSpritePath: image-url('glyphicons-halflings.png');
-$iconWhiteSpritePath: image-url('glyphicons-halflings-white.png'); */
-/* As we're namespacing bootstrap to class admin, which is applied to the body element in the admin interface (no id or class allowed on the HTML element in HTML 4.01) and to the navbar also, so it can be styled with bootstrap when showing for admin users on the front end, re-apply the bootstrap html and body styles here.
-*/
-html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-
-body.admin { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333333; background-color: white; }
-
-/* When the admin stylesheet is loaded (and so the user is seeing the admin navbar), pad the banner of the front end interface so that it isn't hidden, and move any special notice down too.
-*/
-.entirebody, #banner { padding-top: 50px; }
-
-#special-notice { margin-top: 50px; }
-
-.admin { /*
- * Bootstrap v2.2.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */ /* Allow for input prepend/append in search forms */ /* White icons with optional class, or on hover/active states of certain elements */ /* move down carets for tabs */ @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- @-moz-keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- @-ms-keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- @-o-keyframes progress-bar-stripes { from { background-position: 0 0; }
- to { background-position: 40px 0; } }
- @keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- }
-.admin article, .admin aside, .admin details, .admin figcaption, .admin figure, .admin footer, .admin header, .admin hgroup, .admin nav, .admin section { display: block; }
-.admin audio, .admin canvas, .admin video { display: inline-block; *display: inline; *zoom: 1; }
-.admin audio:not([controls]) { display: none; }
-.admin html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-.admin a:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
-.admin a:hover, .admin a:active { outline: 0; }
-.admin sub, .admin sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
-.admin sup { top: -0.5em; }
-.admin sub { bottom: -0.25em; }
-.admin img { /* Responsive images (ensure images don't scale beyond their parents) */ max-width: 100%; /* Part 1: Set a maxium relative to the parent */ width: auto\9; /* IE7-8 need help adjusting responsive images */ height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }
-.admin #map_canvas img, .admin .google-maps img { max-width: none; }
-.admin button, .admin input, .admin select, .admin textarea { margin: 0; font-size: 100%; vertical-align: middle; }
-.admin button, .admin input { *overflow: visible; line-height: normal; }
-.admin button::-moz-focus-inner, .admin input::-moz-focus-inner { padding: 0; border: 0; }
-.admin button, .admin html input[type="button"], .admin input[type="reset"], .admin input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
-.admin label, .admin select, .admin button, .admin input[type="button"], .admin input[type="reset"], .admin input[type="submit"], .admin input[type="radio"], .admin input[type="checkbox"] { cursor: pointer; }
-.admin input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; }
-.admin input[type="search"]::-webkit-search-decoration, .admin input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
-.admin textarea { overflow: auto; vertical-align: top; }
-@media print { .admin { @page { margin: 0.5cm; }
- }
- .admin * { text-shadow: none !important; color: black !important; background: transparent !important; box-shadow: none !important; }
- .admin a, .admin a:visited { text-decoration: underline; }
- .admin a[href]:after { content: " (" attr(href) ")"; }
- .admin abbr[title]:after { content: " (" attr(title) ")"; }
- .admin .ir a:after, .admin a[href^="javascript:"]:after, .admin a[href^="#"]:after { content: ""; }
- .admin pre, .admin blockquote { border: 1px solid #999999; page-break-inside: avoid; }
- .admin thead { display: table-header-group; }
- .admin tr, .admin img { page-break-inside: avoid; }
- .admin img { max-width: 100% !important; }
- .admin p, .admin h2, .admin h3 { orphans: 3; widows: 3; }
- .admin h2, .admin h3 { page-break-after: avoid; } }
-.admin body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333333; background-color: white; }
-.admin a { color: #0088cc; text-decoration: none; }
-.admin a:hover { color: #005580; text-decoration: underline; }
-.admin .img-rounded { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .img-polaroid { padding: 4px; background-color: #fff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
-.admin .img-circle { -webkit-border-radius: 500px; -moz-border-radius: 500px; border-radius: 500px; }
-.admin .row { margin-left: -20px; *zoom: 1; }
-.admin .row:before, .admin .row:after { display: table; content: ""; line-height: 0; }
-.admin .row:after { clear: both; }
-.admin [class*="span"] { float: left; min-height: 1px; margin-left: 20px; }
-.admin .container, .admin .navbar-static-top .container, .admin .navbar-fixed-top .container, .admin .navbar-fixed-bottom .container { width: 940px; }
-.admin .span12 { width: 940px; }
-.admin .span11 { width: 860px; }
-.admin .span10 { width: 780px; }
-.admin .span9 { width: 700px; }
-.admin .span8 { width: 620px; }
-.admin .span7 { width: 540px; }
-.admin .span6 { width: 460px; }
-.admin .span5 { width: 380px; }
-.admin .span4 { width: 300px; }
-.admin .span3 { width: 220px; }
-.admin .span2 { width: 140px; }
-.admin .span1 { width: 60px; }
-.admin .offset12 { margin-left: 980px; }
-.admin .offset11 { margin-left: 900px; }
-.admin .offset10 { margin-left: 820px; }
-.admin .offset9 { margin-left: 740px; }
-.admin .offset8 { margin-left: 660px; }
-.admin .offset7 { margin-left: 580px; }
-.admin .offset6 { margin-left: 500px; }
-.admin .offset5 { margin-left: 420px; }
-.admin .offset4 { margin-left: 340px; }
-.admin .offset3 { margin-left: 260px; }
-.admin .offset2 { margin-left: 180px; }
-.admin .offset1 { margin-left: 100px; }
-.admin .row-fluid { width: 100%; *zoom: 1; }
-.admin .row-fluid:before, .admin .row-fluid:after { display: table; content: ""; line-height: 0; }
-.admin .row-fluid:after { clear: both; }
-.admin .row-fluid [class*="span"] { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; float: left; margin-left: 2.12766%; *margin-left: 2.07447%; }
-.admin .row-fluid [class*="span"]:first-child { margin-left: 0; }
-.admin .row-fluid .controls-row [class*="span"] + [class*="span"] { margin-left: 2.12766%; }
-.admin .row-fluid .span12 { width: 100%; *width: 99.94681%; }
-.admin .row-fluid .span11 { width: 91.48936%; *width: 91.43617%; }
-.admin .row-fluid .span10 { width: 82.97872%; *width: 82.92553%; }
-.admin .row-fluid .span9 { width: 74.46809%; *width: 74.41489%; }
-.admin .row-fluid .span8 { width: 65.95745%; *width: 65.90426%; }
-.admin .row-fluid .span7 { width: 57.44681%; *width: 57.39362%; }
-.admin .row-fluid .span6 { width: 48.93617%; *width: 48.88298%; }
-.admin .row-fluid .span5 { width: 40.42553%; *width: 40.37234%; }
-.admin .row-fluid .span4 { width: 31.91489%; *width: 31.8617%; }
-.admin .row-fluid .span3 { width: 23.40426%; *width: 23.35106%; }
-.admin .row-fluid .span2 { width: 14.89362%; *width: 14.84043%; }
-.admin .row-fluid .span1 { width: 6.38298%; *width: 6.32979%; }
-.admin .row-fluid .offset12 { margin-left: 104.25532%; *margin-left: 104.14894%; }
-.admin .row-fluid .offset12:first-child { margin-left: 102.12766%; *margin-left: 102.02128%; }
-.admin .row-fluid .offset11 { margin-left: 95.74468%; *margin-left: 95.6383%; }
-.admin .row-fluid .offset11:first-child { margin-left: 93.61702%; *margin-left: 93.51064%; }
-.admin .row-fluid .offset10 { margin-left: 87.23404%; *margin-left: 87.12766%; }
-.admin .row-fluid .offset10:first-child { margin-left: 85.10638%; *margin-left: 85.0%; }
-.admin .row-fluid .offset9 { margin-left: 78.7234%; *margin-left: 78.61702%; }
-.admin .row-fluid .offset9:first-child { margin-left: 76.59574%; *margin-left: 76.48936%; }
-.admin .row-fluid .offset8 { margin-left: 70.21277%; *margin-left: 70.10638%; }
-.admin .row-fluid .offset8:first-child { margin-left: 68.08511%; *margin-left: 67.97872%; }
-.admin .row-fluid .offset7 { margin-left: 61.70213%; *margin-left: 61.59574%; }
-.admin .row-fluid .offset7:first-child { margin-left: 59.57447%; *margin-left: 59.46809%; }
-.admin .row-fluid .offset6 { margin-left: 53.19149%; *margin-left: 53.08511%; }
-.admin .row-fluid .offset6:first-child { margin-left: 51.06383%; *margin-left: 50.95745%; }
-.admin .row-fluid .offset5 { margin-left: 44.68085%; *margin-left: 44.57447%; }
-.admin .row-fluid .offset5:first-child { margin-left: 42.55319%; *margin-left: 42.44681%; }
-.admin .row-fluid .offset4 { margin-left: 36.17021%; *margin-left: 36.06383%; }
-.admin .row-fluid .offset4:first-child { margin-left: 34.04255%; *margin-left: 33.93617%; }
-.admin .row-fluid .offset3 { margin-left: 27.65957%; *margin-left: 27.55319%; }
-.admin .row-fluid .offset3:first-child { margin-left: 25.53191%; *margin-left: 25.42553%; }
-.admin .row-fluid .offset2 { margin-left: 19.14894%; *margin-left: 19.04255%; }
-.admin .row-fluid .offset2:first-child { margin-left: 17.02128%; *margin-left: 16.91489%; }
-.admin .row-fluid .offset1 { margin-left: 10.6383%; *margin-left: 10.53191%; }
-.admin .row-fluid .offset1:first-child { margin-left: 8.51064%; *margin-left: 8.40426%; }
-.admin [class*="span"].hide, .admin .row-fluid [class*="span"].hide { display: none; }
-.admin [class*="span"].pull-right, .admin .row-fluid [class*="span"].pull-right { float: right; }
-.admin .container { margin-right: auto; margin-left: auto; *zoom: 1; }
-.admin .container:before, .admin .container:after { display: table; content: ""; line-height: 0; }
-.admin .container:after { clear: both; }
-.admin .container-fluid { padding-right: 20px; padding-left: 20px; *zoom: 1; }
-.admin .container-fluid:before, .admin .container-fluid:after { display: table; content: ""; line-height: 0; }
-.admin .container-fluid:after { clear: both; }
-.admin p { margin: 0 0 10px; }
-.admin .lead { margin-bottom: 20px; font-size: 21px; font-weight: 200; line-height: 30px; }
-.admin small { font-size: 85%; }
-.admin strong { font-weight: bold; }
-.admin em { font-style: italic; }
-.admin cite { font-style: normal; }
-.admin .muted { color: #999999; }
-.admin a.muted:hover { color: gray; }
-.admin .text-warning { color: #c09853; }
-.admin a.text-warning:hover { color: #a47e3c; }
-.admin .text-error { color: #b94a48; }
-.admin a.text-error:hover { color: #953b39; }
-.admin .text-info { color: #3a87ad; }
-.admin a.text-info:hover { color: #2d6987; }
-.admin .text-success { color: #468847; }
-.admin a.text-success:hover { color: #356635; }
-.admin h1, .admin h2, .admin h3, .admin h4, .admin h5, .admin h6 { margin: 10px 0; font-family: inherit; font-weight: bold; line-height: 20px; color: inherit; text-rendering: optimizelegibility; }
-.admin h1 small, .admin h2 small, .admin h3 small, .admin h4 small, .admin h5 small, .admin h6 small { font-weight: normal; line-height: 1; color: #999999; }
-.admin h1, .admin h2, .admin h3 { line-height: 40px; }
-.admin h1 { font-size: 38.5px; }
-.admin h2 { font-size: 31.5px; }
-.admin h3 { font-size: 24.5px; }
-.admin h4 { font-size: 17.5px; }
-.admin h5 { font-size: 14px; }
-.admin h6 { font-size: 11.9px; }
-.admin h1 small { font-size: 24.5px; }
-.admin h2 small { font-size: 17.5px; }
-.admin h3 small { font-size: 14px; }
-.admin h4 small { font-size: 14px; }
-.admin .page-header { padding-bottom: 9px; margin: 20px 0 30px; border-bottom: 1px solid #eeeeee; }
-.admin ul, .admin ol { padding: 0; margin: 0 0 10px 25px; }
-.admin ul ul, .admin ul ol, .admin ol ol, .admin ol ul { margin-bottom: 0; }
-.admin li { line-height: 20px; }
-.admin ul.unstyled, .admin ol.unstyled { margin-left: 0; list-style: none; }
-.admin ul.inline, .admin ol.inline { margin-left: 0; list-style: none; }
-.admin ul.inline > li, .admin ol.inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; }
-.admin dl { margin-bottom: 20px; }
-.admin dt, .admin dd { line-height: 20px; }
-.admin dt { font-weight: bold; }
-.admin dd { margin-left: 10px; }
-.admin .dl-horizontal { *zoom: 1; }
-.admin .dl-horizontal:before, .admin .dl-horizontal:after { display: table; content: ""; line-height: 0; }
-.admin .dl-horizontal:after { clear: both; }
-.admin .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
-.admin .dl-horizontal dd { margin-left: 180px; }
-.admin hr { margin: 20px 0; border: 0; border-top: 1px solid #eeeeee; border-bottom: 1px solid white; }
-.admin abbr[title], .admin abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; }
-.admin abbr.initialism { font-size: 90%; text-transform: uppercase; }
-.admin blockquote { padding: 0 0 0 15px; margin: 0 0 20px; border-left: 5px solid #eeeeee; }
-.admin blockquote p { margin-bottom: 0; font-size: 16px; font-weight: 300; line-height: 25px; }
-.admin blockquote small { display: block; line-height: 20px; color: #999999; }
-.admin blockquote small:before { content: '\2014 \00A0'; }
-.admin blockquote.pull-right { float: right; padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; }
-.admin blockquote.pull-right p, .admin blockquote.pull-right small { text-align: right; }
-.admin blockquote.pull-right small:before { content: ''; }
-.admin blockquote.pull-right small:after { content: '\00A0 \2014'; }
-.admin q:before, .admin q:after, .admin blockquote:before, .admin blockquote:after { content: ""; }
-.admin address { display: block; margin-bottom: 20px; font-style: normal; line-height: 20px; }
-.admin code, .admin pre { padding: 0 3px 2px; font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 12px; color: #333333; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin code { padding: 2px 4px; color: #d14; background-color: #f7f7f9; border: 1px solid #e1e1e8; white-space: nowrap; }
-.admin pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 20px; word-break: break-all; word-wrap: break-word; white-space: pre; white-space: pre-wrap; background-color: #f5f5f5; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin pre.prettyprint { margin-bottom: 20px; }
-.admin pre code { padding: 0; color: inherit; white-space: pre; white-space: pre-wrap; background-color: transparent; border: 0; }
-.admin .pre-scrollable { max-height: 340px; overflow-y: scroll; }
-.admin form { margin: 0 0 20px; }
-.admin fieldset { padding: 0; margin: 0; border: 0; }
-.admin legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: 40px; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; }
-.admin legend small { font-size: 15px; color: #999999; }
-.admin label, .admin input, .admin button, .admin select, .admin textarea { font-size: 14px; font-weight: normal; line-height: 20px; }
-.admin input, .admin button, .admin select, .admin textarea { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
-.admin label { display: block; margin-bottom: 5px; }
-.admin select, .admin textarea, .admin input[type="text"], .admin input[type="password"], .admin input[type="datetime"], .admin input[type="datetime-local"], .admin input[type="date"], .admin input[type="month"], .admin input[type="time"], .admin input[type="week"], .admin input[type="number"], .admin input[type="email"], .admin input[type="url"], .admin input[type="search"], .admin input[type="tel"], .admin input[type="color"], .admin .uneditable-input { display: inline-block; height: 20px; padding: 4px 6px; margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555555; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; vertical-align: middle; }
-.admin input, .admin textarea, .admin .uneditable-input { width: 206px; }
-.admin textarea { height: auto; }
-.admin textarea, .admin input[type="text"], .admin input[type="password"], .admin input[type="datetime"], .admin input[type="datetime-local"], .admin input[type="date"], .admin input[type="month"], .admin input[type="time"], .admin input[type="week"], .admin input[type="number"], .admin input[type="email"], .admin input[type="url"], .admin input[type="search"], .admin input[type="tel"], .admin input[type="color"], .admin .uneditable-input { background-color: white; border: 1px solid #cccccc; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; -moz-transition: border linear 0.2s, box-shadow linear 0.2s; -o-transition: border linear 0.2s, box-shadow linear 0.2s; transition: border linear 0.2s, box-shadow linear 0.2s; }
-.admin textarea:focus, .admin input[type="text"]:focus, .admin input[type="password"]:focus, .admin input[type="datetime"]:focus, .admin input[type="datetime-local"]:focus, .admin input[type="date"]:focus, .admin input[type="month"]:focus, .admin input[type="time"]:focus, .admin input[type="week"]:focus, .admin input[type="number"]:focus, .admin input[type="email"]:focus, .admin input[type="url"]:focus, .admin input[type="search"]:focus, .admin input[type="tel"]:focus, .admin input[type="color"]:focus, .admin .uneditable-input:focus { border-color: rgba(82, 168, 236, 0.8); outline: 0; outline: thin dotted \9; /* IE6-9 */ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); }
-.admin input[type="radio"], .admin input[type="checkbox"] { margin: 4px 0 0; *margin-top: 0; /* IE7 */ margin-top: 1px \9; /* IE8-9 */ line-height: normal; }
-.admin input[type="file"], .admin input[type="image"], .admin input[type="submit"], .admin input[type="reset"], .admin input[type="button"], .admin input[type="radio"], .admin input[type="checkbox"] { width: auto; }
-.admin select, .admin input[type="file"] { height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ *margin-top: 4px; /* For IE7, add top margin to align select with labels */ line-height: 30px; }
-.admin select { width: 220px; border: 1px solid #cccccc; background-color: white; }
-.admin select[multiple], .admin select[size] { height: auto; }
-.admin select:focus, .admin input[type="file"]:focus, .admin input[type="radio"]:focus, .admin input[type="checkbox"]:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
-.admin .uneditable-input, .admin .uneditable-textarea { color: #999999; background-color: #fcfcfc; border-color: #cccccc; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); cursor: not-allowed; }
-.admin .uneditable-input { overflow: hidden; white-space: nowrap; }
-.admin .uneditable-textarea { width: auto; height: auto; }
-.admin input:-moz-placeholder, .admin textarea:-moz-placeholder { color: #999999; }
-.admin input:-ms-input-placeholder, .admin textarea:-ms-input-placeholder { color: #999999; }
-.admin input::-webkit-input-placeholder, .admin textarea::-webkit-input-placeholder { color: #999999; }
-.admin .radio, .admin .checkbox { min-height: 20px; padding-left: 20px; }
-.admin .radio input[type="radio"], .admin .checkbox input[type="checkbox"] { float: left; margin-left: -20px; }
-.admin .controls > .radio:first-child, .admin .controls > .checkbox:first-child { padding-top: 5px; }
-.admin .radio.inline, .admin .checkbox.inline { display: inline-block; padding-top: 5px; margin-bottom: 0; vertical-align: middle; }
-.admin .radio.inline + .radio.inline, .admin .checkbox.inline + .checkbox.inline { margin-left: 10px; }
-.admin .input-mini { width: 60px; }
-.admin .input-small { width: 90px; }
-.admin .input-medium { width: 150px; }
-.admin .input-large { width: 210px; }
-.admin .input-xlarge { width: 270px; }
-.admin .input-xxlarge { width: 530px; }
-.admin input[class*="span"], .admin select[class*="span"], .admin textarea[class*="span"], .admin .uneditable-input[class*="span"], .admin .row-fluid input[class*="span"], .admin .row-fluid select[class*="span"], .admin .row-fluid textarea[class*="span"], .admin .row-fluid .uneditable-input[class*="span"] { float: none; margin-left: 0; }
-.admin .input-append input[class*="span"], .admin .input-append .uneditable-input[class*="span"], .admin .input-prepend input[class*="span"], .admin .input-prepend .uneditable-input[class*="span"], .admin .row-fluid input[class*="span"], .admin .row-fluid select[class*="span"], .admin .row-fluid textarea[class*="span"], .admin .row-fluid .uneditable-input[class*="span"], .admin .row-fluid .input-prepend [class*="span"], .admin .row-fluid .input-append [class*="span"] { display: inline-block; }
-.admin input, .admin textarea, .admin .uneditable-input { margin-left: 0; }
-.admin .controls-row [class*="span"] + [class*="span"] { margin-left: 20px; }
-.admin input.span12, .admin textarea.span12, .admin .uneditable-input.span12 { width: 926px; }
-.admin input.span11, .admin textarea.span11, .admin .uneditable-input.span11 { width: 846px; }
-.admin input.span10, .admin textarea.span10, .admin .uneditable-input.span10 { width: 766px; }
-.admin input.span9, .admin textarea.span9, .admin .uneditable-input.span9 { width: 686px; }
-.admin input.span8, .admin textarea.span8, .admin .uneditable-input.span8 { width: 606px; }
-.admin input.span7, .admin textarea.span7, .admin .uneditable-input.span7 { width: 526px; }
-.admin input.span6, .admin textarea.span6, .admin .uneditable-input.span6 { width: 446px; }
-.admin input.span5, .admin textarea.span5, .admin .uneditable-input.span5 { width: 366px; }
-.admin input.span4, .admin textarea.span4, .admin .uneditable-input.span4 { width: 286px; }
-.admin input.span3, .admin textarea.span3, .admin .uneditable-input.span3 { width: 206px; }
-.admin input.span2, .admin textarea.span2, .admin .uneditable-input.span2 { width: 126px; }
-.admin input.span1, .admin textarea.span1, .admin .uneditable-input.span1 { width: 46px; }
-.admin .controls-row { *zoom: 1; }
-.admin .controls-row:before, .admin .controls-row:after { display: table; content: ""; line-height: 0; }
-.admin .controls-row:after { clear: both; }
-.admin .controls-row [class*="span"], .admin .row-fluid .controls-row [class*="span"] { float: left; }
-.admin .controls-row .checkbox[class*="span"], .admin .controls-row .radio[class*="span"] { padding-top: 5px; }
-.admin input[disabled], .admin select[disabled], .admin textarea[disabled], .admin input[readonly], .admin select[readonly], .admin textarea[readonly] { cursor: not-allowed; background-color: #eeeeee; }
-.admin input[type="radio"][disabled], .admin input[type="checkbox"][disabled], .admin input[type="radio"][readonly], .admin input[type="checkbox"][readonly] { background-color: transparent; }
-.admin .control-group.warning .control-label, .admin .control-group.warning .help-block, .admin .control-group.warning .help-inline { color: #c09853; }
-.admin .control-group.warning .checkbox, .admin .control-group.warning .radio, .admin .control-group.warning input, .admin .control-group.warning select, .admin .control-group.warning textarea { color: #c09853; }
-.admin .control-group.warning input, .admin .control-group.warning select, .admin .control-group.warning textarea { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.warning input:focus, .admin .control-group.warning select:focus, .admin .control-group.warning textarea:focus { border-color: #a47e3c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; }
-.admin .control-group.warning .input-prepend .add-on, .admin .control-group.warning .input-append .add-on { color: #c09853; background-color: #fcf8e3; border-color: #c09853; }
-.admin .control-group.error .control-label, .admin .control-group.error .help-block, .admin .control-group.error .help-inline { color: #b94a48; }
-.admin .control-group.error .checkbox, .admin .control-group.error .radio, .admin .control-group.error input, .admin .control-group.error select, .admin .control-group.error textarea { color: #b94a48; }
-.admin .control-group.error input, .admin .control-group.error select, .admin .control-group.error textarea { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.error input:focus, .admin .control-group.error select:focus, .admin .control-group.error textarea:focus { border-color: #953b39; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; }
-.admin .control-group.error .input-prepend .add-on, .admin .control-group.error .input-append .add-on { color: #b94a48; background-color: #f2dede; border-color: #b94a48; }
-.admin .control-group.success .control-label, .admin .control-group.success .help-block, .admin .control-group.success .help-inline { color: #468847; }
-.admin .control-group.success .checkbox, .admin .control-group.success .radio, .admin .control-group.success input, .admin .control-group.success select, .admin .control-group.success textarea { color: #468847; }
-.admin .control-group.success input, .admin .control-group.success select, .admin .control-group.success textarea { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.success input:focus, .admin .control-group.success select:focus, .admin .control-group.success textarea:focus { border-color: #356635; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; }
-.admin .control-group.success .input-prepend .add-on, .admin .control-group.success .input-append .add-on { color: #468847; background-color: #dff0d8; border-color: #468847; }
-.admin .control-group.info .control-label, .admin .control-group.info .help-block, .admin .control-group.info .help-inline { color: #3a87ad; }
-.admin .control-group.info .checkbox, .admin .control-group.info .radio, .admin .control-group.info input, .admin .control-group.info select, .admin .control-group.info textarea { color: #3a87ad; }
-.admin .control-group.info input, .admin .control-group.info select, .admin .control-group.info textarea { border-color: #3a87ad; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.info input:focus, .admin .control-group.info select:focus, .admin .control-group.info textarea:focus { border-color: #2d6987; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; }
-.admin .control-group.info .input-prepend .add-on, .admin .control-group.info .input-append .add-on { color: #3a87ad; background-color: #d9edf7; border-color: #3a87ad; }
-.admin input:focus:invalid, .admin textarea:focus:invalid, .admin select:focus:invalid { color: #b94a48; border-color: #ee5f5b; }
-.admin input:focus:invalid:focus, .admin textarea:focus:invalid:focus, .admin select:focus:invalid:focus { border-color: #e9322d; -webkit-box-shadow: 0 0 6px #f8b9b7; -moz-box-shadow: 0 0 6px #f8b9b7; box-shadow: 0 0 6px #f8b9b7; }
-.admin .form-actions { padding: 19px 20px 20px; margin-top: 20px; margin-bottom: 20px; background-color: whitesmoke; border-top: 1px solid #e5e5e5; *zoom: 1; }
-.admin .form-actions:before, .admin .form-actions:after { display: table; content: ""; line-height: 0; }
-.admin .form-actions:after { clear: both; }
-.admin .help-block, .admin .help-inline { color: #595959; }
-.admin .help-block { display: block; margin-bottom: 10px; }
-.admin .help-inline { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; vertical-align: middle; padding-left: 5px; }
-.admin .input-append, .admin .input-prepend { margin-bottom: 5px; font-size: 0; white-space: nowrap; }
-.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input, .admin .input-append .dropdown-menu, .admin .input-prepend input, .admin .input-prepend select, .admin .input-prepend .uneditable-input, .admin .input-prepend .dropdown-menu { font-size: 14px; }
-.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input, .admin .input-prepend input, .admin .input-prepend select, .admin .input-prepend .uneditable-input { position: relative; margin-bottom: 0; *margin-left: 0; vertical-align: top; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-append input:focus, .admin .input-append select:focus, .admin .input-append .uneditable-input:focus, .admin .input-prepend input:focus, .admin .input-prepend select:focus, .admin .input-prepend .uneditable-input:focus { z-index: 2; }
-.admin .input-append .add-on, .admin .input-prepend .add-on { display: inline-block; width: auto; height: 20px; min-width: 16px; padding: 4px 5px; font-size: 14px; font-weight: normal; line-height: 20px; text-align: center; text-shadow: 0 1px 0 white; background-color: #eeeeee; border: 1px solid #cccccc; }
-.admin .input-append .add-on, .admin .input-append .btn, .admin .input-append .btn-group > .dropdown-toggle, .admin .input-prepend .add-on, .admin .input-prepend .btn, .admin .input-prepend .btn-group > .dropdown-toggle { vertical-align: top; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .input-append .active, .admin .input-prepend .active { background-color: #a9dba9; border-color: #46a546; }
-.admin .input-prepend .add-on, .admin .input-prepend .btn { margin-right: -1px; }
-.admin .input-prepend .add-on:first-child, .admin .input-prepend .btn:first-child { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .input-append input + .btn-group .btn:last-child, .admin .input-append select + .btn-group .btn:last-child, .admin .input-append .uneditable-input + .btn-group .btn:last-child { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-append .add-on, .admin .input-append .btn, .admin .input-append .btn-group { margin-left: -1px; }
-.admin .input-append .add-on:last-child, .admin .input-append .btn:last-child, .admin .input-append .btn-group:last-child > .dropdown-toggle { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-prepend.input-append input, .admin .input-prepend.input-append select, .admin .input-prepend.input-append .uneditable-input { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .input-prepend.input-append input + .btn-group .btn, .admin .input-prepend.input-append select + .btn-group .btn, .admin .input-prepend.input-append .uneditable-input + .btn-group .btn { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-prepend.input-append .add-on:first-child, .admin .input-prepend.input-append .btn:first-child { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .input-prepend.input-append .add-on:last-child, .admin .input-prepend.input-append .btn:last-child { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-prepend.input-append .btn-group:first-child { margin-left: 0; }
-.admin input.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ margin-bottom: 0; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
-.admin .form-search .input-append .search-query, .admin .form-search .input-prepend .search-query { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .form-search .input-append .search-query { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px; }
-.admin .form-search .input-append .btn { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0; }
-.admin .form-search .input-prepend .search-query { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0; }
-.admin .form-search .input-prepend .btn { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px; }
-.admin .form-search input, .admin .form-search textarea, .admin .form-search select, .admin .form-search .help-inline, .admin .form-search .uneditable-input, .admin .form-search .input-prepend, .admin .form-search .input-append, .admin .form-inline input, .admin .form-inline textarea, .admin .form-inline select, .admin .form-inline .help-inline, .admin .form-inline .uneditable-input, .admin .form-inline .input-prepend, .admin .form-inline .input-append, .admin .form-horizontal input, .admin .form-horizontal textarea, .admin .form-horizontal select, .admin .form-horizontal .help-inline, .admin .form-horizontal .uneditable-input, .admin .form-horizontal .input-prepend, .admin .form-horizontal .input-append { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; margin-bottom: 0; vertical-align: middle; }
-.admin .form-search .hide, .admin .form-inline .hide, .admin .form-horizontal .hide { display: none; }
-.admin .form-search label, .admin .form-inline label, .admin .form-search .btn-group, .admin .form-inline .btn-group { display: inline-block; }
-.admin .form-search .input-append, .admin .form-inline .input-append, .admin .form-search .input-prepend, .admin .form-inline .input-prepend { margin-bottom: 0; }
-.admin .form-search .radio, .admin .form-search .checkbox, .admin .form-inline .radio, .admin .form-inline .checkbox { padding-left: 0; margin-bottom: 0; vertical-align: middle; }
-.admin .form-search .radio input[type="radio"], .admin .form-search .checkbox input[type="checkbox"], .admin .form-inline .radio input[type="radio"], .admin .form-inline .checkbox input[type="checkbox"] { float: left; margin-right: 3px; margin-left: 0; }
-.admin .control-group { margin-bottom: 10px; }
-.admin legend + .control-group { margin-top: 20px; -webkit-margin-top-collapse: separate; }
-.admin .form-horizontal .control-group { margin-bottom: 20px; *zoom: 1; }
-.admin .form-horizontal .control-group:before, .admin .form-horizontal .control-group:after { display: table; content: ""; line-height: 0; }
-.admin .form-horizontal .control-group:after { clear: both; }
-.admin .form-horizontal .control-label { float: left; width: 160px; padding-top: 5px; text-align: right; }
-.admin .form-horizontal .controls { *display: inline-block; *padding-left: 20px; margin-left: 180px; *margin-left: 0; }
-.admin .form-horizontal .controls:first-child { *padding-left: 180px; }
-.admin .form-horizontal .help-block { margin-bottom: 0; }
-.admin .form-horizontal input + .help-block, .admin .form-horizontal select + .help-block, .admin .form-horizontal textarea + .help-block, .admin .form-horizontal .uneditable-input + .help-block, .admin .form-horizontal .input-prepend + .help-block, .admin .form-horizontal .input-append + .help-block { margin-top: 10px; }
-.admin .form-horizontal .form-actions { padding-left: 180px; }
-.admin table { max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0; }
-.admin .table { width: 100%; margin-bottom: 20px; }
-.admin .table th, .admin .table td { padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #dddddd; }
-.admin .table th { font-weight: bold; }
-.admin .table thead th { vertical-align: bottom; }
-.admin .table caption + thead tr:first-child th, .admin .table caption + thead tr:first-child td, .admin .table colgroup + thead tr:first-child th, .admin .table colgroup + thead tr:first-child td, .admin .table thead:first-child tr:first-child th, .admin .table thead:first-child tr:first-child td { border-top: 0; }
-.admin .table tbody + tbody { border-top: 2px solid #dddddd; }
-.admin .table .table { background-color: white; }
-.admin .table-condensed th, .admin .table-condensed td { padding: 4px 5px; }
-.admin .table-bordered { border: 1px solid #dddddd; border-collapse: separate; *border-collapse: collapse; border-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .table-bordered th, .admin .table-bordered td { border-left: 1px solid #dddddd; }
-.admin .table-bordered caption + thead tr:first-child th, .admin .table-bordered caption + tbody tr:first-child th, .admin .table-bordered caption + tbody tr:first-child td, .admin .table-bordered colgroup + thead tr:first-child th, .admin .table-bordered colgroup + tbody tr:first-child th, .admin .table-bordered colgroup + tbody tr:first-child td, .admin .table-bordered thead:first-child tr:first-child th, .admin .table-bordered tbody:first-child tr:first-child th, .admin .table-bordered tbody:first-child tr:first-child td { border-top: 0; }
-.admin .table-bordered thead:first-child tr:first-child > th:first-child, .admin .table-bordered tbody:first-child tr:first-child > td:first-child { -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
-.admin .table-bordered thead:first-child tr:first-child > th:last-child, .admin .table-bordered tbody:first-child tr:first-child > td:last-child { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; }
-.admin .table-bordered thead:last-child tr:last-child > th:first-child, .admin .table-bordered tbody:last-child tr:last-child > td:first-child, .admin .table-bordered tfoot:last-child tr:last-child > td:first-child { -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .table-bordered thead:last-child tr:last-child > th:last-child, .admin .table-bordered tbody:last-child tr:last-child > td:last-child, .admin .table-bordered tfoot:last-child tr:last-child > td:last-child { -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
-.admin .table-bordered tfoot + tbody:last-child tr:last-child td:first-child { -webkit-border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; border-bottom-left-radius: 0; }
-.admin .table-bordered tfoot + tbody:last-child tr:last-child td:last-child { -webkit-border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0; border-bottom-right-radius: 0; }
-.admin .table-bordered caption + thead tr:first-child th:first-child, .admin .table-bordered caption + tbody tr:first-child td:first-child, .admin .table-bordered colgroup + thead tr:first-child th:first-child, .admin .table-bordered colgroup + tbody tr:first-child td:first-child { -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
-.admin .table-bordered caption + thead tr:first-child th:last-child, .admin .table-bordered caption + tbody tr:first-child td:last-child, .admin .table-bordered colgroup + thead tr:first-child th:last-child, .admin .table-bordered colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; }
-.admin .table-striped tbody > tr:nth-child(odd) > td, .admin .table-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; }
-.admin .table-hover tbody tr:hover td, .admin .table-hover tbody tr:hover th { background-color: whitesmoke; }
-.admin table td[class*="span"], .admin table th[class*="span"], .admin .row-fluid table td[class*="span"], .admin .row-fluid table th[class*="span"] { display: table-cell; float: none; margin-left: 0; }
-.admin .table td.span1, .admin .table th.span1 { float: none; width: 44px; margin-left: 0; }
-.admin .table td.span2, .admin .table th.span2 { float: none; width: 124px; margin-left: 0; }
-.admin .table td.span3, .admin .table th.span3 { float: none; width: 204px; margin-left: 0; }
-.admin .table td.span4, .admin .table th.span4 { float: none; width: 284px; margin-left: 0; }
-.admin .table td.span5, .admin .table th.span5 { float: none; width: 364px; margin-left: 0; }
-.admin .table td.span6, .admin .table th.span6 { float: none; width: 444px; margin-left: 0; }
-.admin .table td.span7, .admin .table th.span7 { float: none; width: 524px; margin-left: 0; }
-.admin .table td.span8, .admin .table th.span8 { float: none; width: 604px; margin-left: 0; }
-.admin .table td.span9, .admin .table th.span9 { float: none; width: 684px; margin-left: 0; }
-.admin .table td.span10, .admin .table th.span10 { float: none; width: 764px; margin-left: 0; }
-.admin .table td.span11, .admin .table th.span11 { float: none; width: 844px; margin-left: 0; }
-.admin .table td.span12, .admin .table th.span12 { float: none; width: 924px; margin-left: 0; }
-.admin .table tbody tr.success td { background-color: #dff0d8; }
-.admin .table tbody tr.error td { background-color: #f2dede; }
-.admin .table tbody tr.warning td { background-color: #fcf8e3; }
-.admin .table tbody tr.info td { background-color: #d9edf7; }
-.admin .table-hover tbody tr.success:hover td { background-color: #d0e9c6; }
-.admin .table-hover tbody tr.error:hover td { background-color: #ebcccc; }
-.admin .table-hover tbody tr.warning:hover td { background-color: #faf2cc; }
-.admin .table-hover tbody tr.info:hover td { background-color: #c4e3f3; }
-.admin [class^="icon-"], .admin [class*=" icon-"] { display: inline-block; width: 14px; height: 14px; *margin-right: .3em; line-height: 14px; vertical-align: text-top; background-image: url(../images/glyphicons-halflings.png?1361243119); background-position: 14px 14px; background-repeat: no-repeat; margin-top: 1px; }
-.admin .icon-white, .admin .nav-pills > .active > a > [class^="icon-"], .admin .nav-pills > .active > a > [class*=" icon-"], .admin .nav-list > .active > a > [class^="icon-"], .admin .nav-list > .active > a > [class*=" icon-"], .admin .navbar-inverse .nav > .active > a > [class^="icon-"], .admin .navbar-inverse .nav > .active > a > [class*=" icon-"], .admin .dropdown-menu > li > a:hover > [class^="icon-"], .admin .dropdown-menu > li > a:hover > [class*=" icon-"], .admin .dropdown-menu > .active > a > [class^="icon-"], .admin .dropdown-menu > .active > a > [class*=" icon-"], .admin .dropdown-submenu:hover > a > [class^="icon-"], .admin .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: url(../images/glyphicons-halflings-white.png?1361243119); }
-.admin .icon-glass { background-position: 0 0; }
-.admin .icon-music { background-position: -24px 0; }
-.admin .icon-search { background-position: -48px 0; }
-.admin .icon-envelope { background-position: -72px 0; }
-.admin .icon-heart { background-position: -96px 0; }
-.admin .icon-star { background-position: -120px 0; }
-.admin .icon-star-empty { background-position: -144px 0; }
-.admin .icon-user { background-position: -168px 0; }
-.admin .icon-film { background-position: -192px 0; }
-.admin .icon-th-large { background-position: -216px 0; }
-.admin .icon-th { background-position: -240px 0; }
-.admin .icon-th-list { background-position: -264px 0; }
-.admin .icon-ok { background-position: -288px 0; }
-.admin .icon-remove { background-position: -312px 0; }
-.admin .icon-zoom-in { background-position: -336px 0; }
-.admin .icon-zoom-out { background-position: -360px 0; }
-.admin .icon-off { background-position: -384px 0; }
-.admin .icon-signal { background-position: -408px 0; }
-.admin .icon-cog { background-position: -432px 0; }
-.admin .icon-trash { background-position: -456px 0; }
-.admin .icon-home { background-position: 0 -24px; }
-.admin .icon-file { background-position: -24px -24px; }
-.admin .icon-time { background-position: -48px -24px; }
-.admin .icon-road { background-position: -72px -24px; }
-.admin .icon-download-alt { background-position: -96px -24px; }
-.admin .icon-download { background-position: -120px -24px; }
-.admin .icon-upload { background-position: -144px -24px; }
-.admin .icon-inbox { background-position: -168px -24px; }
-.admin .icon-play-circle { background-position: -192px -24px; }
-.admin .icon-repeat { background-position: -216px -24px; }
-.admin .icon-refresh { background-position: -240px -24px; }
-.admin .icon-list-alt { background-position: -264px -24px; }
-.admin .icon-lock { background-position: -287px -24px; }
-.admin .icon-flag { background-position: -312px -24px; }
-.admin .icon-headphones { background-position: -336px -24px; }
-.admin .icon-volume-off { background-position: -360px -24px; }
-.admin .icon-volume-down { background-position: -384px -24px; }
-.admin .icon-volume-up { background-position: -408px -24px; }
-.admin .icon-qrcode { background-position: -432px -24px; }
-.admin .icon-barcode { background-position: -456px -24px; }
-.admin .icon-tag { background-position: 0 -48px; }
-.admin .icon-tags { background-position: -25px -48px; }
-.admin .icon-book { background-position: -48px -48px; }
-.admin .icon-bookmark { background-position: -72px -48px; }
-.admin .icon-print { background-position: -96px -48px; }
-.admin .icon-camera { background-position: -120px -48px; }
-.admin .icon-font { background-position: -144px -48px; }
-.admin .icon-bold { background-position: -167px -48px; }
-.admin .icon-italic { background-position: -192px -48px; }
-.admin .icon-text-height { background-position: -216px -48px; }
-.admin .icon-text-width { background-position: -240px -48px; }
-.admin .icon-align-left { background-position: -264px -48px; }
-.admin .icon-align-center { background-position: -288px -48px; }
-.admin .icon-align-right { background-position: -312px -48px; }
-.admin .icon-align-justify { background-position: -336px -48px; }
-.admin .icon-list { background-position: -360px -48px; }
-.admin .icon-indent-left { background-position: -384px -48px; }
-.admin .icon-indent-right { background-position: -408px -48px; }
-.admin .icon-facetime-video { background-position: -432px -48px; }
-.admin .icon-picture { background-position: -456px -48px; }
-.admin .icon-pencil { background-position: 0 -72px; }
-.admin .icon-map-marker { background-position: -24px -72px; }
-.admin .icon-adjust { background-position: -48px -72px; }
-.admin .icon-tint { background-position: -72px -72px; }
-.admin .icon-edit { background-position: -96px -72px; }
-.admin .icon-share { background-position: -120px -72px; }
-.admin .icon-check { background-position: -144px -72px; }
-.admin .icon-move { background-position: -168px -72px; }
-.admin .icon-step-backward { background-position: -192px -72px; }
-.admin .icon-fast-backward { background-position: -216px -72px; }
-.admin .icon-backward { background-position: -240px -72px; }
-.admin .icon-play { background-position: -264px -72px; }
-.admin .icon-pause { background-position: -288px -72px; }
-.admin .icon-stop { background-position: -312px -72px; }
-.admin .icon-forward { background-position: -336px -72px; }
-.admin .icon-fast-forward { background-position: -360px -72px; }
-.admin .icon-step-forward { background-position: -384px -72px; }
-.admin .icon-eject { background-position: -408px -72px; }
-.admin .icon-chevron-left { background-position: -432px -72px; }
-.admin .icon-chevron-right { background-position: -456px -72px; }
-.admin .icon-plus-sign { background-position: 0 -96px; }
-.admin .icon-minus-sign { background-position: -24px -96px; }
-.admin .icon-remove-sign { background-position: -48px -96px; }
-.admin .icon-ok-sign { background-position: -72px -96px; }
-.admin .icon-question-sign { background-position: -96px -96px; }
-.admin .icon-info-sign { background-position: -120px -96px; }
-.admin .icon-screenshot { background-position: -144px -96px; }
-.admin .icon-remove-circle { background-position: -168px -96px; }
-.admin .icon-ok-circle { background-position: -192px -96px; }
-.admin .icon-ban-circle { background-position: -216px -96px; }
-.admin .icon-arrow-left { background-position: -240px -96px; }
-.admin .icon-arrow-right { background-position: -264px -96px; }
-.admin .icon-arrow-up { background-position: -289px -96px; }
-.admin .icon-arrow-down { background-position: -312px -96px; }
-.admin .icon-share-alt { background-position: -336px -96px; }
-.admin .icon-resize-full { background-position: -360px -96px; }
-.admin .icon-resize-small { background-position: -384px -96px; }
-.admin .icon-plus { background-position: -408px -96px; }
-.admin .icon-minus { background-position: -433px -96px; }
-.admin .icon-asterisk { background-position: -456px -96px; }
-.admin .icon-exclamation-sign { background-position: 0 -120px; }
-.admin .icon-gift { background-position: -24px -120px; }
-.admin .icon-leaf { background-position: -48px -120px; }
-.admin .icon-fire { background-position: -72px -120px; }
-.admin .icon-eye-open { background-position: -96px -120px; }
-.admin .icon-eye-close { background-position: -120px -120px; }
-.admin .icon-warning-sign { background-position: -144px -120px; }
-.admin .icon-plane { background-position: -168px -120px; }
-.admin .icon-calendar { background-position: -192px -120px; }
-.admin .icon-random { background-position: -216px -120px; width: 16px; }
-.admin .icon-comment { background-position: -240px -120px; }
-.admin .icon-magnet { background-position: -264px -120px; }
-.admin .icon-chevron-up { background-position: -288px -120px; }
-.admin .icon-chevron-down { background-position: -313px -119px; }
-.admin .icon-retweet { background-position: -336px -120px; }
-.admin .icon-shopping-cart { background-position: -360px -120px; }
-.admin .icon-folder-close { background-position: -384px -120px; }
-.admin .icon-folder-open { background-position: -408px -120px; width: 16px; }
-.admin .icon-resize-vertical { background-position: -432px -119px; }
-.admin .icon-resize-horizontal { background-position: -456px -118px; }
-.admin .icon-hdd { background-position: 0 -144px; }
-.admin .icon-bullhorn { background-position: -24px -144px; }
-.admin .icon-bell { background-position: -48px -144px; }
-.admin .icon-certificate { background-position: -72px -144px; }
-.admin .icon-thumbs-up { background-position: -96px -144px; }
-.admin .icon-thumbs-down { background-position: -120px -144px; }
-.admin .icon-hand-right { background-position: -144px -144px; }
-.admin .icon-hand-left { background-position: -168px -144px; }
-.admin .icon-hand-up { background-position: -192px -144px; }
-.admin .icon-hand-down { background-position: -216px -144px; }
-.admin .icon-circle-arrow-right { background-position: -240px -144px; }
-.admin .icon-circle-arrow-left { background-position: -264px -144px; }
-.admin .icon-circle-arrow-up { background-position: -288px -144px; }
-.admin .icon-circle-arrow-down { background-position: -312px -144px; }
-.admin .icon-globe { background-position: -336px -144px; }
-.admin .icon-wrench { background-position: -360px -144px; }
-.admin .icon-tasks { background-position: -384px -144px; }
-.admin .icon-filter { background-position: -408px -144px; }
-.admin .icon-briefcase { background-position: -432px -144px; }
-.admin .icon-fullscreen { background-position: -456px -144px; }
-.admin .dropup, .admin .dropdown { position: relative; }
-.admin .dropdown-toggle { *margin-bottom: -3px; }
-.admin .dropdown-toggle:active, .admin .open .dropdown-toggle { outline: 0; }
-.admin .caret { display: inline-block; width: 0; height: 0; vertical-align: top; border-top: 4px solid black; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""; }
-.admin .dropdown .caret { margin-top: 8px; margin-left: 2px; }
-.admin .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; background-color: white; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); *border-right-width: 2px; *border-bottom-width: 2px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; }
-.admin .dropdown-menu.pull-right { right: 0; left: auto; }
-.admin .dropdown-menu .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid white; }
-.admin .dropdown-menu li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 20px; color: #333333; white-space: nowrap; }
-.admin .dropdown-menu li > a:hover, .admin .dropdown-menu li > a:focus, .admin .dropdown-submenu:hover > a { text-decoration: none; color: white; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); }
-.admin .dropdown-menu .active > a, .admin .dropdown-menu .active > a:hover { color: #333333; text-decoration: none; outline: 0; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); }
-.admin .dropdown-menu .disabled > a, .admin .dropdown-menu .disabled > a:hover { color: #999999; }
-.admin .dropdown-menu .disabled > a:hover { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); cursor: default; }
-.admin .open { *z-index: 1000; }
-.admin .open > .dropdown-menu { display: block; }
-.admin .pull-right > .dropdown-menu { right: 0; left: auto; }
-.admin .dropup .caret, .admin .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid black; content: ""; }
-.admin .dropup .dropdown-menu, .admin .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; }
-.admin .dropdown-submenu { position: relative; }
-.admin .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px 6px; border-radius: 0 6px 6px 6px; }
-.admin .dropdown-submenu:hover > .dropdown-menu { display: block; }
-.admin .dropup .dropdown-submenu > .dropdown-menu { top: auto; bottom: 0; margin-top: 0; margin-bottom: -2px; -webkit-border-radius: 5px 5px 5px 0; -moz-border-radius: 5px 5px 5px 0; border-radius: 5px 5px 5px 0; }
-.admin .dropdown-submenu > a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: #cccccc; margin-top: 5px; margin-right: -10px; }
-.admin .dropdown-submenu:hover > a:after { border-left-color: white; }
-.admin .dropdown-submenu.pull-left { float: none; }
-.admin .dropdown-submenu.pull-left > .dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
-.admin .dropdown .dropdown-menu .nav-header { padding-left: 20px; padding-right: 20px; }
-.admin .typeahead { z-index: 1051; margin-top: 2px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: whitesmoke; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
-.admin .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); }
-.admin .well-large { padding: 24px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .well-small { padding: 9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; -moz-transition: opacity 0.15s linear; -o-transition: opacity 0.15s linear; transition: opacity 0.15s linear; }
-.admin .fade.in { opacity: 1; }
-.admin .collapse { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; -moz-transition: height 0.35s ease; -o-transition: height 0.35s ease; transition: height 0.35s ease; }
-.admin .collapse.in { height: auto; }
-.admin .close { float: right; font-size: 20px; font-weight: bold; line-height: 20px; color: black; text-shadow: 0 1px 0 white; opacity: 0.2; filter: alpha(opacity=20); }
-.admin .close:hover { color: black; text-decoration: none; cursor: pointer; opacity: 0.4; filter: alpha(opacity=40); }
-.admin button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; }
-.admin .btn { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; padding: 4px 12px; margin-bottom: 0; font-size: 14px; line-height: 20px; text-align: center; vertical-align: middle; cursor: pointer; color: #333333; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); background-color: whitesmoke; background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE6E6E6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); border: 1px solid #bbbbbb; *border: 0; border-bottom-color: #a2a2a2; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; *margin-left: .3em; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .btn:hover, .admin .btn:active, .admin .btn.active, .admin .btn.disabled, .admin .btn[disabled] { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; }
-.admin .btn:active, .admin .btn.active { background-color: #cccccc \9; }
-.admin .btn:first-child { *margin-left: 0; }
-.admin .btn:hover { color: #333333; text-decoration: none; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
-.admin .btn:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
-.admin .btn.active, .admin .btn:active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .btn.disabled, .admin .btn[disabled] { cursor: default; background-image: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
-.admin .btn-large { padding: 11px 19px; font-size: 17.5px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .btn-large [class^="icon-"], .admin .btn-large [class*=" icon-"] { margin-top: 4px; }
-.admin .btn-small { padding: 2px 10px; font-size: 11.9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .btn-small [class^="icon-"], .admin .btn-small [class*=" icon-"] { margin-top: 0; }
-.admin .btn-mini [class^="icon-"], .admin .btn-mini [class*=" icon-"] { margin-top: -1px; }
-.admin .btn-mini { padding: 0px 6px; font-size: 10.5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
-.admin .btn-block + .btn-block { margin-top: 5px; }
-.admin input[type="submit"].btn-block, .admin input[type="reset"].btn-block, .admin input[type="button"].btn-block { width: 100%; }
-.admin .btn-primary.active, .admin .btn-warning.active, .admin .btn-danger.active, .admin .btn-success.active, .admin .btn-info.active, .admin .btn-inverse.active { color: rgba(255, 255, 255, 0.75); }
-.admin .btn { border-color: #c5c5c5; border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); }
-.admin .btn-primary { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006ccc; background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); background-image: -o-linear-gradient(top, #0088cc, #0044cc); background-image: linear-gradient(to bottom, #0088cc, #0044cc); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0044CC', GradientType=0); border-color: #0044cc #0044cc #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #0044cc; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-primary:hover, .admin .btn-primary:active, .admin .btn-primary.active, .admin .btn-primary.disabled, .admin .btn-primary[disabled] { color: white; background-color: #0044cc; *background-color: #003bb3; }
-.admin .btn-primary:active, .admin .btn-primary.active { background-color: #003399 \9; }
-.admin .btn-warning { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #f9a732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #f89406; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-warning:hover, .admin .btn-warning:active, .admin .btn-warning.active, .admin .btn-warning.disabled, .admin .btn-warning[disabled] { color: white; background-color: #f89406; *background-color: #df8505; }
-.admin .btn-warning:active, .admin .btn-warning.active { background-color: #c67605 \9; }
-.admin .btn-danger { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4e49; background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFBD362F', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #bd362f; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-danger:hover, .admin .btn-danger:active, .admin .btn-danger.active, .admin .btn-danger.disabled, .admin .btn-danger[disabled] { color: white; background-color: #bd362f; *background-color: #a9302a; }
-.admin .btn-danger:active, .admin .btn-danger.active { background-color: #942a25 \9; }
-.admin .btn-success { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb65b; background-image: -moz-linear-gradient(top, #62c462, #51a351); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); background-image: linear-gradient(to bottom, #62c462, #51a351); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF51A351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #51a351; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-success:hover, .admin .btn-success:active, .admin .btn-success.active, .admin .btn-success.disabled, .admin .btn-success[disabled] { color: white; background-color: #51a351; *background-color: #499249; }
-.admin .btn-success:active, .admin .btn-success.active { background-color: #408140 \9; }
-.admin .btn-info { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2F96B4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #2f96b4; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-info:hover, .admin .btn-info:active, .admin .btn-info.active, .admin .btn-info.disabled, .admin .btn-info[disabled] { color: white; background-color: #2f96b4; *background-color: #2a85a0; }
-.admin .btn-info:active, .admin .btn-info.active { background-color: #24748c \9; }
-.admin .btn-inverse { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; background-image: -moz-linear-gradient(top, #444444, #222222); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); background-image: -webkit-linear-gradient(top, #444444, #222222); background-image: -o-linear-gradient(top, #444444, #222222); background-image: linear-gradient(to bottom, #444444, #222222); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0); border-color: #222222 #222222 black; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #222222; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-inverse:hover, .admin .btn-inverse:active, .admin .btn-inverse.active, .admin .btn-inverse.disabled, .admin .btn-inverse[disabled] { color: white; background-color: #222222; *background-color: #151515; }
-.admin .btn-inverse:active, .admin .btn-inverse.active { background-color: #090909 \9; }
-.admin button.btn, .admin input[type="submit"].btn { *padding-top: 3px; *padding-bottom: 3px; }
-.admin button.btn::-moz-focus-inner, .admin input[type="submit"].btn::-moz-focus-inner { padding: 0; border: 0; }
-.admin button.btn.btn-large, .admin input[type="submit"].btn.btn-large { *padding-top: 7px; *padding-bottom: 7px; }
-.admin button.btn.btn-small, .admin input[type="submit"].btn.btn-small { *padding-top: 3px; *padding-bottom: 3px; }
-.admin button.btn.btn-mini, .admin input[type="submit"].btn.btn-mini { *padding-top: 1px; *padding-bottom: 1px; }
-.admin .btn-link, .admin .btn-link:active, .admin .btn-link[disabled] { background-color: transparent; background-image: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
-.admin .btn-link { border-color: transparent; cursor: pointer; color: #0088cc; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .btn-link:hover { color: #005580; text-decoration: underline; background-color: transparent; }
-.admin .btn-link[disabled]:hover { color: #333333; text-decoration: none; }
-.admin .btn-group { position: relative; display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; font-size: 0; vertical-align: middle; white-space: nowrap; *margin-left: .3em; }
-.admin .btn-group:first-child { *margin-left: 0; }
-.admin .btn-group + .btn-group { margin-left: 5px; }
-.admin .btn-toolbar { font-size: 0; margin-top: 10px; margin-bottom: 10px; }
-.admin .btn-toolbar > .btn + .btn, .admin .btn-toolbar > .btn-group + .btn, .admin .btn-toolbar > .btn + .btn-group { margin-left: 5px; }
-.admin .btn-group > .btn { position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .btn-group > .btn + .btn { margin-left: -1px; }
-.admin .btn-group > .btn, .admin .btn-group > .dropdown-menu, .admin .btn-group > .popover { font-size: 14px; }
-.admin .btn-group > .btn-mini { font-size: 10.5px; }
-.admin .btn-group > .btn-small { font-size: 11.9px; }
-.admin .btn-group > .btn-large { font-size: 17.5px; }
-.admin .btn-group > .btn:first-child { margin-left: 0; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .btn-group > .btn:last-child, .admin .btn-group > .dropdown-toggle { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
-.admin .btn-group > .btn.large:first-child { margin-left: 0; -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; }
-.admin .btn-group > .btn.large:last-child, .admin .btn-group > .large.dropdown-toggle { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; }
-.admin .btn-group > .btn:hover, .admin .btn-group > .btn:focus, .admin .btn-group > .btn:active, .admin .btn-group > .btn.active { z-index: 2; }
-.admin .btn-group .dropdown-toggle:active, .admin .btn-group.open .dropdown-toggle { outline: 0; }
-.admin .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); *padding-top: 5px; *padding-bottom: 5px; }
-.admin .btn-group > .btn-mini + .dropdown-toggle { padding-left: 5px; padding-right: 5px; *padding-top: 2px; *padding-bottom: 2px; }
-.admin .btn-group > .btn-small + .dropdown-toggle { *padding-top: 5px; *padding-bottom: 4px; }
-.admin .btn-group > .btn-large + .dropdown-toggle { padding-left: 12px; padding-right: 12px; *padding-top: 7px; *padding-bottom: 7px; }
-.admin .btn-group.open .dropdown-toggle { background-image: none; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .btn-group.open .btn.dropdown-toggle { background-color: #e6e6e6; }
-.admin .btn-group.open .btn-primary.dropdown-toggle { background-color: #0044cc; }
-.admin .btn-group.open .btn-warning.dropdown-toggle { background-color: #f89406; }
-.admin .btn-group.open .btn-danger.dropdown-toggle { background-color: #bd362f; }
-.admin .btn-group.open .btn-success.dropdown-toggle { background-color: #51a351; }
-.admin .btn-group.open .btn-info.dropdown-toggle { background-color: #2f96b4; }
-.admin .btn-group.open .btn-inverse.dropdown-toggle { background-color: #222222; }
-.admin .btn .caret { margin-top: 8px; margin-left: 0; }
-.admin .btn-mini .caret, .admin .btn-small .caret, .admin .btn-large .caret { margin-top: 6px; }
-.admin .btn-large .caret { border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; }
-.admin .dropup .btn-large .caret { border-bottom-width: 5px; }
-.admin .btn-primary .caret, .admin .btn-warning .caret, .admin .btn-danger .caret, .admin .btn-info .caret, .admin .btn-success .caret, .admin .btn-inverse .caret { border-top-color: white; border-bottom-color: white; }
-.admin .btn-group-vertical { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; }
-.admin .btn-group-vertical > .btn { display: block; float: none; max-width: 100%; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .btn-group-vertical > .btn + .btn { margin-left: 0; margin-top: -1px; }
-.admin .btn-group-vertical > .btn:first-child { -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; }
-.admin .btn-group-vertical > .btn:last-child { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; }
-.admin .btn-group-vertical > .btn-large:first-child { -webkit-border-radius: 6px 6px 0 0; -moz-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0; }
-.admin .btn-group-vertical > .btn-large:last-child { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; }
-.admin .alert { padding: 8px 35px 8px 14px; margin-bottom: 20px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); background-color: #fcf8e3; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .alert, .admin .alert h4 { color: #c09853; }
-.admin .alert h4 { margin: 0; }
-.admin .alert .close { position: relative; top: -2px; right: -21px; line-height: 20px; }
-.admin .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847; }
-.admin .alert-success h4 { color: #468847; }
-.admin .alert-danger, .admin .alert-error { background-color: #f2dede; border-color: #eed3d7; color: #b94a48; }
-.admin .alert-danger h4, .admin .alert-error h4 { color: #b94a48; }
-.admin .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad; }
-.admin .alert-info h4 { color: #3a87ad; }
-.admin .alert-block { padding-top: 14px; padding-bottom: 14px; }
-.admin .alert-block > p, .admin .alert-block > ul { margin-bottom: 0; }
-.admin .alert-block p + p { margin-top: 5px; }
-.admin .nav { margin-left: 0; margin-bottom: 20px; list-style: none; }
-.admin .nav > li > a { display: block; }
-.admin .nav > li > a:hover { text-decoration: none; background-color: #eeeeee; }
-.admin .nav > li > a > img { max-width: none; }
-.admin .nav > .pull-right { float: right; }
-.admin .nav-header { display: block; padding: 3px 15px; font-size: 11px; font-weight: bold; line-height: 20px; color: #999999; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); text-transform: uppercase; }
-.admin .nav li + .nav-header { margin-top: 9px; }
-.admin .nav-list { padding-left: 15px; padding-right: 15px; margin-bottom: 0; }
-.admin .nav-list > li > a, .admin .nav-list .nav-header { margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }
-.admin .nav-list > li > a { padding: 3px 15px; }
-.admin .nav-list > .active > a, .admin .nav-list > .active > a:hover { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); background-color: #0088cc; }
-.admin .nav-list [class^="icon-"], .admin .nav-list [class*=" icon-"] { margin-right: 2px; }
-.admin .nav-list .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid white; }
-.admin .nav-tabs, .admin .nav-pills { *zoom: 1; }
-.admin .nav-tabs:before, .admin .nav-tabs:after, .admin .nav-pills:before, .admin .nav-pills:after { display: table; content: ""; line-height: 0; }
-.admin .nav-tabs:after, .admin .nav-pills:after { clear: both; }
-.admin .nav-tabs > li, .admin .nav-pills > li { float: left; }
-.admin .nav-tabs > li > a, .admin .nav-pills > li > a { padding-right: 12px; padding-left: 12px; margin-right: 2px; line-height: 14px; }
-.admin .nav-tabs { border-bottom: 1px solid #dddddd; }
-.admin .nav-tabs > li { margin-bottom: -1px; }
-.admin .nav-tabs > li > a { padding-top: 8px; padding-bottom: 8px; line-height: 20px; border: 1px solid transparent; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; }
-.admin .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #dddddd; }
-.admin .nav-tabs > .active > a, .admin .nav-tabs > .active > a:hover { color: #555555; background-color: white; border: 1px solid #dddddd; border-bottom-color: transparent; cursor: default; }
-.admin .nav-pills > li > a { padding-top: 8px; padding-bottom: 8px; margin-top: 2px; margin-bottom: 2px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
-.admin .nav-pills > .active > a, .admin .nav-pills > .active > a:hover { color: white; background-color: #0088cc; }
-.admin .nav-stacked > li { float: none; }
-.admin .nav-stacked > li > a { margin-right: 0; }
-.admin .nav-tabs.nav-stacked { border-bottom: 0; }
-.admin .nav-tabs.nav-stacked > li > a { border: 1px solid #dddddd; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .nav-tabs.nav-stacked > li:first-child > a { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
-.admin .nav-tabs.nav-stacked > li:last-child > a { -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .nav-tabs.nav-stacked > li > a:hover { border-color: #ddd; z-index: 2; }
-.admin .nav-pills.nav-stacked > li > a { margin-bottom: 3px; }
-.admin .nav-pills.nav-stacked > li:last-child > a { margin-bottom: 1px; }
-.admin .nav-tabs .dropdown-menu { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; }
-.admin .nav-pills .dropdown-menu { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .nav .dropdown-toggle .caret { border-top-color: #0088cc; border-bottom-color: #0088cc; margin-top: 6px; }
-.admin .nav .dropdown-toggle:hover .caret { border-top-color: #005580; border-bottom-color: #005580; }
-.admin .nav-tabs .dropdown-toggle .caret { margin-top: 8px; }
-.admin .nav .active .dropdown-toggle .caret { border-top-color: #fff; border-bottom-color: #fff; }
-.admin .nav-tabs .active .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; }
-.admin .nav > .dropdown.active > a:hover { cursor: pointer; }
-.admin .nav-tabs .open .dropdown-toggle, .admin .nav-pills .open .dropdown-toggle, .admin .nav > li.dropdown.open.active > a:hover { color: white; background-color: #999999; border-color: #999999; }
-.admin .nav li.dropdown.open .caret, .admin .nav li.dropdown.open.active .caret, .admin .nav li.dropdown.open a:hover .caret { border-top-color: white; border-bottom-color: white; opacity: 1; filter: alpha(opacity=100); }
-.admin .tabs-stacked .open > a:hover { border-color: #999999; }
-.admin .tabbable { *zoom: 1; }
-.admin .tabbable:before, .admin .tabbable:after { display: table; content: ""; line-height: 0; }
-.admin .tabbable:after { clear: both; }
-.admin .tab-content { overflow: auto; }
-.admin .tabs-below > .nav-tabs, .admin .tabs-right > .nav-tabs, .admin .tabs-left > .nav-tabs { border-bottom: 0; }
-.admin .tab-content > .tab-pane, .admin .pill-content > .pill-pane { display: none; }
-.admin .tab-content > .active, .admin .pill-content > .active { display: block; }
-.admin .tabs-below > .nav-tabs { border-top: 1px solid #dddddd; }
-.admin .tabs-below > .nav-tabs > li { margin-top: -1px; margin-bottom: 0; }
-.admin .tabs-below > .nav-tabs > li > a { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; }
-.admin .tabs-below > .nav-tabs > li > a:hover { border-bottom-color: transparent; border-top-color: #ddd; }
-.admin .tabs-below > .nav-tabs > .active > a, .admin .tabs-below > .nav-tabs > .active > a:hover { border-color: transparent #dddddd #dddddd #dddddd; }
-.admin .tabs-left > .nav-tabs > li, .admin .tabs-right > .nav-tabs > li { float: none; }
-.admin .tabs-left > .nav-tabs > li > a, .admin .tabs-right > .nav-tabs > li > a { min-width: 74px; margin-right: 0; margin-bottom: 3px; }
-.admin .tabs-left > .nav-tabs { float: left; margin-right: 19px; border-right: 1px solid #dddddd; }
-.admin .tabs-left > .nav-tabs > li > a { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .tabs-left > .nav-tabs > li > a:hover { border-color: #eeeeee #dddddd #eeeeee #eeeeee; }
-.admin .tabs-left > .nav-tabs .active > a, .admin .tabs-left > .nav-tabs .active > a:hover { border-color: #dddddd transparent #dddddd #dddddd; *border-right-color: white; }
-.admin .tabs-right > .nav-tabs { float: right; margin-left: 19px; border-left: 1px solid #dddddd; }
-.admin .tabs-right > .nav-tabs > li > a { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .tabs-right > .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #eeeeee #dddddd; }
-.admin .tabs-right > .nav-tabs .active > a, .admin .tabs-right > .nav-tabs .active > a:hover { border-color: #dddddd #dddddd #dddddd transparent; *border-left-color: white; }
-.admin .nav > .disabled > a { color: #999999; }
-.admin .nav > .disabled > a:hover { text-decoration: none; background-color: transparent; cursor: default; }
-.admin .navbar { overflow: visible; margin-bottom: 20px; *position: relative; *z-index: 2; }
-.admin .navbar-inner { min-height: 40px; padding-left: 20px; padding-right: 20px; background-color: #f9f9f9; background-image: -moz-linear-gradient(top, white, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, white, #f2f2f2); background-image: -o-linear-gradient(top, white, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF2F2F2', GradientType=0); border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); *zoom: 1; }
-.admin .navbar-inner:before, .admin .navbar-inner:after { display: table; content: ""; line-height: 0; }
-.admin .navbar-inner:after { clear: both; }
-.admin .navbar .container { width: auto; }
-.admin .nav-collapse.collapse { height: auto; overflow: visible; }
-.admin .navbar .brand { float: left; display: block; padding: 10px 20px 10px; margin-left: -20px; font-size: 20px; font-weight: 200; color: #777777; text-shadow: 0 1px 0 white; }
-.admin .navbar .brand:hover { text-decoration: none; }
-.admin .navbar-text { margin-bottom: 0; line-height: 40px; color: #777777; }
-.admin .navbar-link { color: #777777; }
-.admin .navbar-link:hover { color: #333333; }
-.admin .navbar .divider-vertical { height: 40px; margin: 0 9px; border-left: 1px solid #f2f2f2; border-right: 1px solid white; }
-.admin .navbar .btn, .admin .navbar .btn-group { margin-top: 5px; }
-.admin .navbar .btn-group .btn, .admin .navbar .input-prepend .btn, .admin .navbar .input-append .btn { margin-top: 0; }
-.admin .navbar-form { margin-bottom: 0; *zoom: 1; }
-.admin .navbar-form:before, .admin .navbar-form:after { display: table; content: ""; line-height: 0; }
-.admin .navbar-form:after { clear: both; }
-.admin .navbar-form input, .admin .navbar-form select, .admin .navbar-form .radio, .admin .navbar-form .checkbox { margin-top: 5px; }
-.admin .navbar-form input, .admin .navbar-form select, .admin .navbar-form .btn { display: inline-block; margin-bottom: 0; }
-.admin .navbar-form input[type="image"], .admin .navbar-form input[type="checkbox"], .admin .navbar-form input[type="radio"] { margin-top: 3px; }
-.admin .navbar-form .input-append, .admin .navbar-form .input-prepend { margin-top: 5px; white-space: nowrap; }
-.admin .navbar-form .input-append input, .admin .navbar-form .input-prepend input { margin-top: 0; }
-.admin .navbar-search { position: relative; float: left; margin-top: 5px; margin-bottom: 0; }
-.admin .navbar-search .search-query { margin-bottom: 0; padding: 4px 14px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 1; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
-.admin .navbar-static-top { position: static; margin-bottom: 0; }
-.admin .navbar-static-top .navbar-inner { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .navbar-fixed-top, .admin .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; margin-bottom: 0; }
-.admin .navbar-fixed-top .navbar-inner, .admin .navbar-static-top .navbar-inner { border-width: 0 0 1px; }
-.admin .navbar-fixed-bottom .navbar-inner { border-width: 1px 0 0; }
-.admin .navbar-fixed-top .navbar-inner, .admin .navbar-fixed-bottom .navbar-inner { padding-left: 0; padding-right: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .navbar-static-top .container, .admin .navbar-fixed-top .container, .admin .navbar-fixed-bottom .container { width: 940px; }
-.admin .navbar-fixed-top { top: 0; }
-.admin .navbar-fixed-top .navbar-inner, .admin .navbar-static-top .navbar-inner { -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); }
-.admin .navbar-fixed-bottom { bottom: 0; }
-.admin .navbar-fixed-bottom .navbar-inner { -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); }
-.admin .navbar .nav { position: relative; left: 0; display: block; float: left; margin: 0 10px 0 0; }
-.admin .navbar .nav.pull-right { float: right; margin-right: 0; }
-.admin .navbar .nav > li { float: left; }
-.admin .navbar .nav > li > a { float: none; padding: 10px 15px 10px; color: #777777; text-decoration: none; text-shadow: 0 1px 0 white; }
-.admin .navbar .nav .dropdown-toggle .caret { margin-top: 8px; }
-.admin .navbar .nav > li > a:focus, .admin .navbar .nav > li > a:hover { background-color: transparent; color: #333333; text-decoration: none; }
-.admin .navbar .nav > .active > a, .admin .navbar .nav > .active > a:hover, .admin .navbar .nav > .active > a:focus { color: #555555; text-decoration: none; background-color: #e6e6e6; -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); }
-.admin .navbar .btn-navbar { display: none; float: right; padding: 7px 10px; margin-left: 5px; margin-right: 5px; color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #ededed; background-image: -moz-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: -o-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: linear-gradient(to bottom, #f2f2f2, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2F2F2', endColorstr='#FFE6E6E6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); }
-.admin .navbar .btn-navbar:hover, .admin .navbar .btn-navbar:active, .admin .navbar .btn-navbar.active, .admin .navbar .btn-navbar.disabled, .admin .navbar .btn-navbar[disabled] { color: white; background-color: #e6e6e6; *background-color: #d9d9d9; }
-.admin .navbar .btn-navbar:active, .admin .navbar .btn-navbar.active { background-color: #cccccc \9; }
-.admin .navbar .btn-navbar .icon-bar { display: block; width: 18px; height: 2px; background-color: #f5f5f5; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
-.admin .btn-navbar .icon-bar + .icon-bar { margin-top: 3px; }
-.admin .navbar .nav > li > .dropdown-menu:before { content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #cccccc; border-bottom-color: rgba(0, 0, 0, 0.2); position: absolute; top: -7px; left: 9px; }
-.admin .navbar .nav > li > .dropdown-menu:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid white; position: absolute; top: -6px; left: 10px; }
-.admin .navbar-fixed-bottom .nav > li > .dropdown-menu:before { border-top: 7px solid #cccccc; border-top-color: rgba(0, 0, 0, 0.2); border-bottom: 0; bottom: -7px; top: auto; }
-.admin .navbar-fixed-bottom .nav > li > .dropdown-menu:after { border-top: 6px solid white; border-bottom: 0; bottom: -6px; top: auto; }
-.admin .navbar .nav li.dropdown > a:hover .caret { border-top-color: #555555; border-bottom-color: #555555; }
-.admin .navbar .nav li.dropdown.open > .dropdown-toggle, .admin .navbar .nav li.dropdown.active > .dropdown-toggle, .admin .navbar .nav li.dropdown.open.active > .dropdown-toggle { background-color: #e6e6e6; color: #555555; }
-.admin .navbar .nav li.dropdown > .dropdown-toggle .caret { border-top-color: #777777; border-bottom-color: #777777; }
-.admin .navbar .nav li.dropdown.open > .dropdown-toggle .caret, .admin .navbar .nav li.dropdown.active > .dropdown-toggle .caret, .admin .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; }
-.admin .navbar .pull-right > li > .dropdown-menu, .admin .navbar .nav > li > .dropdown-menu.pull-right { left: auto; right: 0; }
-.admin .navbar .pull-right > li > .dropdown-menu:before, .admin .navbar .nav > li > .dropdown-menu.pull-right:before { left: auto; right: 12px; }
-.admin .navbar .pull-right > li > .dropdown-menu:after, .admin .navbar .nav > li > .dropdown-menu.pull-right:after { left: auto; right: 13px; }
-.admin .navbar .pull-right > li > .dropdown-menu .dropdown-menu, .admin .navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { left: auto; right: 100%; margin-left: 0; margin-right: -1px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
-.admin .navbar-inverse .navbar-inner { background-color: #1b1b1b; background-image: -moz-linear-gradient(top, #222222, #111111); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); background-image: -webkit-linear-gradient(top, #222222, #111111); background-image: -o-linear-gradient(top, #222222, #111111); background-image: linear-gradient(to bottom, #222222, #111111); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF222222', endColorstr='#FF111111', GradientType=0); border-color: #252525; }
-.admin .navbar-inverse .brand, .admin .navbar-inverse .nav > li > a { color: #999999; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
-.admin .navbar-inverse .brand:hover, .admin .navbar-inverse .nav > li > a:hover { color: white; }
-.admin .navbar-inverse .brand { color: #999999; }
-.admin .navbar-inverse .navbar-text { color: #999999; }
-.admin .navbar-inverse .nav > li > a:focus, .admin .navbar-inverse .nav > li > a:hover { background-color: transparent; color: white; }
-.admin .navbar-inverse .nav .active > a, .admin .navbar-inverse .nav .active > a:hover, .admin .navbar-inverse .nav .active > a:focus { color: white; background-color: #111111; }
-.admin .navbar-inverse .navbar-link { color: #999999; }
-.admin .navbar-inverse .navbar-link:hover { color: white; }
-.admin .navbar-inverse .divider-vertical { border-left-color: #111111; border-right-color: #222222; }
-.admin .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .admin .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .admin .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { background-color: #111111; color: white; }
-.admin .navbar-inverse .nav li.dropdown > a:hover .caret { border-top-color: white; color: white; }
-.admin .navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { border-top-color: #999999; border-bottom-color: #999999; }
-.admin .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, .admin .navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, .admin .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: white; border-bottom-color: white; }
-.admin .navbar-inverse .navbar-search .search-query { color: white; background-color: #515151; border-color: #111111; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -webkit-transition: none; -moz-transition: none; -o-transition: none; transition: none; }
-.admin .navbar-inverse .navbar-search .search-query:-moz-placeholder { color: #cccccc; }
-.admin .navbar-inverse .navbar-search .search-query:-ms-input-placeholder { color: #cccccc; }
-.admin .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { color: #cccccc; }
-.admin .navbar-inverse .navbar-search .search-query:focus, .admin .navbar-inverse .navbar-search .search-query.focused { padding: 5px 15px; color: #333333; text-shadow: 0 1px 0 white; background-color: white; border: 0; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); outline: 0; }
-.admin .navbar-inverse .btn-navbar { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; background-image: -moz-linear-gradient(top, #151515, #040404); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); background-image: linear-gradient(to bottom, #151515, #040404); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF151515', endColorstr='#FF040404', GradientType=0); border-color: #040404 #040404 black; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #040404; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .navbar-inverse .btn-navbar:hover, .admin .navbar-inverse .btn-navbar:active, .admin .navbar-inverse .btn-navbar.active, .admin .navbar-inverse .btn-navbar.disabled, .admin .navbar-inverse .btn-navbar[disabled] { color: white; background-color: #040404; *background-color: black; }
-.admin .navbar-inverse .btn-navbar:active, .admin .navbar-inverse .btn-navbar.active { background-color: black \9; }
-.admin .breadcrumb { padding: 8px 15px; margin: 0 0 20px; list-style: none; background-color: #f5f5f5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .breadcrumb > li { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; text-shadow: 0 1px 0 white; }
-.admin .breadcrumb > li > .divider { padding: 0 5px; color: #ccc; }
-.admin .breadcrumb .active { color: #999999; }
-.admin .pagination { margin: 20px 0; }
-.admin .pagination ul { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; margin-left: 0; margin-bottom: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .pagination ul > li { display: inline; }
-.admin .pagination ul > li > a, .admin .pagination ul > li > span { float: left; padding: 4px 12px; line-height: 20px; text-decoration: none; background-color: white; border: 1px solid #dddddd; border-left-width: 0; }
-.admin .pagination ul > li > a:hover, .admin .pagination ul > .active > a, .admin .pagination ul > .active > span { background-color: whitesmoke; }
-.admin .pagination ul > .active > a, .admin .pagination ul > .active > span { color: #999999; cursor: default; }
-.admin .pagination ul > .disabled > span, .admin .pagination ul > .disabled > a, .admin .pagination ul > .disabled > a:hover { color: #999999; background-color: transparent; cursor: default; }
-.admin .pagination ul > li:first-child > a, .admin .pagination ul > li:first-child > span { border-left-width: 1px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .pagination ul > li:last-child > a, .admin .pagination ul > li:last-child > span { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
-.admin .pagination-centered { text-align: center; }
-.admin .pagination-right { text-align: right; }
-.admin .pagination-large ul > li > a, .admin .pagination-large ul > li > span { padding: 11px 19px; font-size: 17.5px; }
-.admin .pagination-large ul > li:first-child > a, .admin .pagination-large ul > li:first-child > span { -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; }
-.admin .pagination-large ul > li:last-child > a, .admin .pagination-large ul > li:last-child > span { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; }
-.admin .pagination-mini ul > li:first-child > a, .admin .pagination-mini ul > li:first-child > span, .admin .pagination-small ul > li:first-child > a, .admin .pagination-small ul > li:first-child > span { -webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-left-radius: 3px; }
-.admin .pagination-mini ul > li:last-child > a, .admin .pagination-mini ul > li:last-child > span, .admin .pagination-small ul > li:last-child > a, .admin .pagination-small ul > li:last-child > span { -webkit-border-top-right-radius: 3px; -moz-border-radius-topright: 3px; border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomright: 3px; border-bottom-right-radius: 3px; }
-.admin .pagination-small ul > li > a, .admin .pagination-small ul > li > span { padding: 2px 10px; font-size: 11.9px; }
-.admin .pagination-mini ul > li > a, .admin .pagination-mini ul > li > span { padding: 0px 6px; font-size: 10.5px; }
-.admin .pager { margin: 20px 0; list-style: none; text-align: center; *zoom: 1; }
-.admin .pager:before, .admin .pager:after { display: table; content: ""; line-height: 0; }
-.admin .pager:after { clear: both; }
-.admin .pager li { display: inline; }
-.admin .pager li > a, .admin .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #dddddd; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
-.admin .pager li > a:hover { text-decoration: none; background-color: #f5f5f5; }
-.admin .pager .next > a, .admin .pager .next > span { float: right; }
-.admin .pager .previous > a, .admin .pager .previous > span { float: left; }
-.admin .pager .disabled > a, .admin .pager .disabled > a:hover, .admin .pager .disabled > span { color: #999999; background-color: #fff; cursor: default; }
-.admin .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: black; }
-.admin .modal-backdrop.fade { opacity: 0; }
-.admin .modal-backdrop, .admin .modal-backdrop.fade.in { opacity: 0.8; filter: alpha(opacity=80); }
-.admin .modal { position: fixed; top: 50%; left: 50%; z-index: 1050; width: 560px; margin: -250px 0 0 -280px; background-color: white; border: 1px solid #999999; border: 1px solid rgba(0, 0, 0, 0.3); *border: 1px solid #999999; /* IE6-7 */ -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -webkit-background-clip: padding-box; -moz-background-clip: padding-box; background-clip: padding-box; outline: none; }
-.admin .modal.fade { -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; -moz-transition: opacity 0.3s linear, top 0.3s ease-out; -o-transition: opacity 0.3s linear, top 0.3s ease-out; transition: opacity 0.3s linear, top 0.3s ease-out; top: -25%; }
-.admin .modal.fade.in { top: 50%; }
-.admin .modal-header { padding: 9px 15px; border-bottom: 1px solid #eeeeee; }
-.admin .modal-header .close { margin-top: 2px; }
-.admin .modal-header h3 { margin: 0; line-height: 30px; }
-.admin .modal-body { position: relative; overflow-y: auto; max-height: 400px; padding: 15px; }
-.admin .modal-form { margin-bottom: 0; }
-.admin .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; text-align: right; background-color: #f5f5f5; border-top: 1px solid #dddddd; -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; -webkit-box-shadow: inset 0 1px 0 white; -moz-box-shadow: inset 0 1px 0 white; box-shadow: inset 0 1px 0 white; *zoom: 1; }
-.admin .modal-footer:before, .admin .modal-footer:after { display: table; content: ""; line-height: 0; }
-.admin .modal-footer:after { clear: both; }
-.admin .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; }
-.admin .modal-footer .btn-group .btn + .btn { margin-left: -1px; }
-.admin .modal-footer .btn-block + .btn-block { margin-left: 0; }
-.admin .tooltip { position: absolute; z-index: 1030; display: block; visibility: visible; padding: 5px; font-size: 11px; opacity: 0; filter: alpha(opacity=0); }
-.admin .tooltip.in { opacity: 0.8; filter: alpha(opacity=80); }
-.admin .tooltip.top { margin-top: -3px; }
-.admin .tooltip.right { margin-left: 3px; }
-.admin .tooltip.bottom { margin-top: 3px; }
-.admin .tooltip.left { margin-left: -3px; }
-.admin .tooltip-inner { max-width: 200px; padding: 3px 8px; color: white; text-align: center; text-decoration: none; background-color: black; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; }
-.admin .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: black; }
-.admin .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: black; }
-.admin .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: black; }
-.admin .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: black; }
-.admin .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; width: 236px; padding: 1px; text-align: left; background-color: white; -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); white-space: normal; }
-.admin .popover.top { margin-top: -10px; }
-.admin .popover.right { margin-left: 10px; }
-.admin .popover.bottom { margin-top: 10px; }
-.admin .popover.left { margin-left: -10px; }
-.admin .popover-title { margin: 0; padding: 8px 14px; font-size: 14px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
-.admin .popover-content { padding: 9px 14px; }
-.admin .popover .arrow, .admin .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; }
-.admin .popover .arrow { border-width: 11px; }
-.admin .popover .arrow:after { border-width: 10px; content: ""; }
-.admin .popover.top .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; }
-.admin .popover.top .arrow:after { bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: white; }
-.admin .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999; border-right-color: rgba(0, 0, 0, 0.25); }
-.admin .popover.right .arrow:after { left: 1px; bottom: -10px; border-left-width: 0; border-right-color: white; }
-.admin .popover.bottom .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; }
-.admin .popover.bottom .arrow:after { top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: white; }
-.admin .popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, 0.25); }
-.admin .popover.left .arrow:after { right: 1px; border-right-width: 0; border-left-color: white; bottom: -10px; }
-.admin .thumbnails { margin-left: -20px; list-style: none; *zoom: 1; }
-.admin .thumbnails:before, .admin .thumbnails:after { display: table; content: ""; line-height: 0; }
-.admin .thumbnails:after { clear: both; }
-.admin .row-fluid .thumbnails { margin-left: 0; }
-.admin .thumbnails > li { float: left; margin-bottom: 20px; margin-left: 20px; }
-.admin .thumbnail { display: block; padding: 4px; line-height: 20px; border: 1px solid #dddddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
-.admin a.thumbnail:hover { border-color: #0088cc; -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); }
-.admin .thumbnail > img { display: block; max-width: 100%; margin-left: auto; margin-right: auto; }
-.admin .thumbnail .caption { padding: 9px; color: #555555; }
-.admin .media, .admin .media-body { overflow: hidden; *overflow: visible; zoom: 1; }
-.admin .media, .admin .media .media { margin-top: 15px; }
-.admin .media:first-child { margin-top: 0; }
-.admin .media-object { display: block; }
-.admin .media-heading { margin: 0 0 5px; }
-.admin .media .pull-left { margin-right: 10px; }
-.admin .media .pull-right { margin-left: 10px; }
-.admin .media-list { margin-left: 0; list-style: none; }
-.admin .label, .admin .badge { display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: white; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; }
-.admin .label { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .badge { padding-left: 9px; padding-right: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; }
-.admin .label:empty, .admin .badge:empty { display: none; }
-.admin a.label:hover, .admin a.badge:hover { color: white; text-decoration: none; cursor: pointer; }
-.admin .label-important { background-color: #b94a48; }
-.admin .label-important[href] { background-color: #953b39; }
-.admin .label-warning { background-color: #f89406; }
-.admin .label-warning[href] { background-color: #c67605; }
-.admin .label-success { background-color: #468847; }
-.admin .label-success[href] { background-color: #356635; }
-.admin .label-info { background-color: #3a87ad; }
-.admin .label-info[href] { background-color: #2d6987; }
-.admin .label-inverse { background-color: #333333; }
-.admin .label-inverse[href] { background-color: #1a1a1a; }
-.admin .badge-important { background-color: #b94a48; }
-.admin .badge-important[href] { background-color: #953b39; }
-.admin .badge-warning { background-color: #f89406; }
-.admin .badge-warning[href] { background-color: #c67605; }
-.admin .badge-success { background-color: #468847; }
-.admin .badge-success[href] { background-color: #356635; }
-.admin .badge-info { background-color: #3a87ad; }
-.admin .badge-info[href] { background-color: #2d6987; }
-.admin .badge-inverse { background-color: #333333; }
-.admin .badge-inverse[href] { background-color: #1a1a1a; }
-.admin .btn .label, .admin .btn .badge { position: relative; top: -1px; }
-.admin .btn-mini .label, .admin .btn-mini .badge { top: 0; }
-.admin .progress { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f6f6f6; background-image: -moz-linear-gradient(top, whitesmoke, #f9f9f9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(whitesmoke), to(#f9f9f9)); background-image: -webkit-linear-gradient(top, whitesmoke, #f9f9f9); background-image: -o-linear-gradient(top, whitesmoke, #f9f9f9); background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFF9F9F9', GradientType=0); -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .progress .bar { width: 0%; height: 100%; color: white; float: left; font-size: 12px; text-align: center; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0d90d1; background-image: -moz-linear-gradient(top, #149bdf, #0480be); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); background-image: -webkit-linear-gradient(top, #149bdf, #0480be); background-image: -o-linear-gradient(top, #149bdf, #0480be); background-image: linear-gradient(to bottom, #149bdf, #0480be); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF149BDF', endColorstr='#FF0480BE', GradientType=0); -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width 0.6s ease; -moz-transition: width 0.6s ease; -o-transition: width 0.6s ease; transition: width 0.6s ease; }
-.admin .progress .bar + .bar { -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); }
-.admin .progress-striped .bar { background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; -moz-background-size: 40px 40px; -o-background-size: 40px 40px; background-size: 40px 40px; }
-.admin .progress.active .bar { -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; -ms-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; }
-.admin .progress-danger .bar, .admin .progress .bar-danger { background-color: #dd514b; background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFC43C35', GradientType=0); }
-.admin .progress-danger.progress-striped .bar, .admin .progress-striped .bar-danger { background-color: #ee5f5b; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .progress-success .bar, .admin .progress .bar-success { background-color: #5db95d; background-image: -moz-linear-gradient(top, #62c462, #57a957); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); background-image: -webkit-linear-gradient(top, #62c462, #57a957); background-image: -o-linear-gradient(top, #62c462, #57a957); background-image: linear-gradient(to bottom, #62c462, #57a957); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF57A957', GradientType=0); }
-.admin .progress-success.progress-striped .bar, .admin .progress-striped .bar-success { background-color: #62c462; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .progress-info .bar, .admin .progress .bar-info { background-color: #4bb1cf; background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); background-image: -o-linear-gradient(top, #5bc0de, #339bb9); background-image: linear-gradient(to bottom, #5bc0de, #339bb9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF339BB9', GradientType=0); }
-.admin .progress-info.progress-striped .bar, .admin .progress-striped .bar-info { background-color: #5bc0de; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .progress-warning .bar, .admin .progress .bar-warning { background-color: #f9a732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); }
-.admin .progress-warning.progress-striped .bar, .admin .progress-striped .bar-warning { background-color: #fbb450; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .accordion { margin-bottom: 20px; }
-.admin .accordion-group { margin-bottom: 2px; border: 1px solid #e5e5e5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .accordion-heading { border-bottom: 0; }
-.admin .accordion-heading .accordion-toggle { display: block; padding: 8px 15px; }
-.admin .accordion-toggle { cursor: pointer; }
-.admin .accordion-inner { padding: 9px 15px; border-top: 1px solid #e5e5e5; }
-.admin .carousel { position: relative; margin-bottom: 20px; line-height: 1; }
-.admin .carousel-inner { overflow: hidden; width: 100%; position: relative; }
-.admin .carousel-inner > .item { display: none; position: relative; -webkit-transition: 0.6s ease-in-out left; -moz-transition: 0.6s ease-in-out left; -o-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; }
-.admin .carousel-inner > .item > img { display: block; line-height: 1; }
-.admin .carousel-inner > .active, .admin .carousel-inner > .next, .admin .carousel-inner > .prev { display: block; }
-.admin .carousel-inner > .active { left: 0; }
-.admin .carousel-inner > .next, .admin .carousel-inner > .prev { position: absolute; top: 0; width: 100%; }
-.admin .carousel-inner > .next { left: 100%; }
-.admin .carousel-inner > .prev { left: -100%; }
-.admin .carousel-inner > .next.left, .admin .carousel-inner > .prev.right { left: 0; }
-.admin .carousel-inner > .active.left { left: -100%; }
-.admin .carousel-inner > .active.right { left: 100%; }
-.admin .carousel-control { position: absolute; top: 40%; left: 15px; width: 40px; height: 40px; margin-top: -20px; font-size: 60px; font-weight: 100; line-height: 30px; color: white; text-align: center; background: #222222; border: 3px solid white; -webkit-border-radius: 23px; -moz-border-radius: 23px; border-radius: 23px; opacity: 0.5; filter: alpha(opacity=50); }
-.admin .carousel-control.right { left: auto; right: 15px; }
-.admin .carousel-control:hover { color: white; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); }
-.admin .carousel-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 15px; background: #333333; background: rgba(0, 0, 0, 0.75); }
-.admin .carousel-caption h4, .admin .carousel-caption p { color: white; line-height: 20px; }
-.admin .carousel-caption h4 { margin: 0 0 5px; }
-.admin .carousel-caption p { margin-bottom: 0; }
-.admin .hero-unit { padding: 60px; margin-bottom: 30px; font-size: 18px; font-weight: 200; line-height: 30px; color: inherit; background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .hero-unit h1 { margin-bottom: 0; font-size: 60px; line-height: 1; color: inherit; letter-spacing: -1px; }
-.admin .hero-unit li { line-height: 30px; }
-.admin .pull-right { float: right; }
-.admin .pull-left { float: left; }
-.admin .hide { display: none; }
-.admin .show { display: block; }
-.admin .invisible { visibility: hidden; }
-.admin .affix { position: fixed; }
-.admin .clearfix { *zoom: 1; }
-.admin .clearfix:before, .admin .clearfix:after { display: table; content: ""; line-height: 0; }
-.admin .clearfix:after { clear: both; }
-.admin .hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
-.admin .input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
-.admin #main { padding-top: 50px; }
-.admin .form-inline { display: inline; }
-.admin table .form { display: inline-block; margin: 0; }
-.admin .accordion-group { border: none; }
-.admin .accordion-heading .btn { float: left; margin: 6px 15px; }
-.admin .accordion-heading .accordion-toggle { padding: 2px; }
-.admin .accordion-heading .accordion-toggle:hover { text-decoration: none; }
-.admin div.item-detail div:nth-child(odd) span { background-color: #eee; }
-.admin span.label.tag { margin-right: 2px; }
-.admin span.label.tag a { color: white; }
-.admin body.admin blockquote p { font-size: 13px; display: inline; }
-.admin div#user_locale_switcher div.btn-group:before, .admin div#user_locale_switcher div.btn-group:after { display: inline; }
-.admin #request_hidden_user_subject_field { width: 440px; }
-.admin #request_hidden_user_explanation_field { width: 100%; height: 15em; }
-.admin #request_hidden_user_subject, .admin #request_hide_button, .admin #request_hidden_user_explanation { display: none; }
-.admin #outgoing_message_body, .admin #comment_body { width: 750px; }
diff --git a/public/down.default.html b/public/down.default.html
index ce4887b51..0440f91f9 100644
--- a/public/down.default.html
+++ b/public/down.default.html
@@ -6,7 +6,7 @@
WhatDoTheyKnow - make and browse Freedom of Information (FOI) requests
</title>
- <link href="http://www.whatdotheyknow.com/stylesheets/main.css?1246372679" media="screen" rel="stylesheet" title="Main" type="text/css">
+ <link href="/assets/main.css" media="screen" rel="stylesheet" title="Main" type="text/css">
<!--[if LT IE 7]>
<style type="text/css">@import url("/stylesheets/ie6.css");</style>
<![endif]-->
diff --git a/public/images/logo.png b/public/images/logo.png
deleted file mode 100644
index a08bbeb58..000000000
--- a/public/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/public/javascripts/application.js b/public/javascripts/application.js
deleted file mode 100644
index fe4577696..000000000
--- a/public/javascripts/application.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Place your application-specific JavaScript functions and classes here
-// This file is automatically included by javascript_include_tag :defaults
diff --git a/public/javascripts/jquery-ui.min.js b/public/javascripts/jquery-ui.min.js
deleted file mode 100644
index fb641f675..000000000
--- a/public/javascripts/jquery-ui.min.js
+++ /dev/null
@@ -1,168 +0,0 @@
-/*!
- * jQuery UI 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
-keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
-this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
-"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
-"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
-outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
-"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
-a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
-c.ui.isOverAxis(b,e,i)}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
-function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
-d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
-b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
-"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
-c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*
- * jQuery UI Position 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Position
- */
-(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
-left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
-k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
-m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
-d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
-a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
-g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
-;/*
- * jQuery UI Tabs 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
-e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
-d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
-(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
-this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
-this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
-if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
-this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
-g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
-function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
-this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
--1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
-d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
-d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
-e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
-j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
-if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
-this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
-load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
-"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
-url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
-a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
-;/*
- * jQuery UI Datepicker 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */
-(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
-"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
-"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
-minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout",
-function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
-b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
-setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
-"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
-function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
-"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
-d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
-b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
-1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
-2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=
-d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
-a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
-"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==
-a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
-d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
-this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
-b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,
-a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
-a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
-"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
-return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
-a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
-"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
-c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
-true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
-a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
-!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
-h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=
-this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
-this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
-_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
-0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"?
-"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
-this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");
-if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?
-b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=
-o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
-function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
-1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",
-COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
-null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
-(new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
-0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
-var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
-i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
-Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>
-12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
-a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
-new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
-n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,
-g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
-a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
-B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
-"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
-x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
-z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()==
-P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
-r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
-"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
-(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
-e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
-(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
-a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
-e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
-"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;
-if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a==
-"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
-; \ No newline at end of file
diff --git a/public/javascripts/jquery.flot.errorbars.min.js b/public/javascripts/jquery.flot.errorbars.min.js
deleted file mode 100644
index 72d7e3dc7..000000000
--- a/public/javascripts/jquery.flot.errorbars.min.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Flot plugin for plotting error bars.
-
-Copyright (c) 2007-2013 IOLA and Ole Laursen.
-Licensed under the MIT license.
-
-Error bars are used to show standard deviation and other statistical
-properties in a plot.
-
-* Created by Rui Pereira - rui (dot) pereira (at) gmail (dot) com
-
-This plugin allows you to plot error-bars over points. Set "errorbars" inside
-the points series to the axis name over which there will be error values in
-your data array (*even* if you do not intend to plot them later, by setting
-"show: null" on xerr/yerr).
-
-The plugin supports these options:
-
- series: {
- points: {
- errorbars: "x" or "y" or "xy",
- xerr: {
- show: null/false or true,
- asymmetric: null/false or true,
- upperCap: null or "-" or function,
- lowerCap: null or "-" or function,
- color: null or color,
- radius: null or number
- },
- yerr: { same options as xerr }
- }
- }
-
-Each data point array is expected to be of the type:
-
- "x" [ x, y, xerr ]
- "y" [ x, y, yerr ]
- "xy" [ x, y, xerr, yerr ]
-
-Where xerr becomes xerr_lower,xerr_upper for the asymmetric error case, and
-equivalently for yerr. Eg., a datapoint for the "xy" case with symmetric
-error-bars on X and asymmetric on Y would be:
-
- [ x, y, xerr, yerr_lower, yerr_upper ]
-
-By default no end caps are drawn. Setting upperCap and/or lowerCap to "-" will
-draw a small cap perpendicular to the error bar. They can also be set to a
-user-defined drawing function, with (ctx, x, y, radius) as parameters, as eg.
-
- function drawSemiCircle( ctx, x, y, radius ) {
- ctx.beginPath();
- ctx.arc( x, y, radius, 0, Math.PI, false );
- ctx.moveTo( x - radius, y );
- ctx.lineTo( x + radius, y );
- ctx.stroke();
- }
-
-Color and radius both default to the same ones of the points series if not
-set. The independent radius parameter on xerr/yerr is useful for the case when
-we may want to add error-bars to a line, without showing the interconnecting
-points (with radius: 0), and still showing end caps on the error-bars.
-shadowSize and lineWidth are derived as well from the points series.
-
-*/(function(e){function n(e,t,n,r){if(!t.points.errorbars)return;var i=[{x:!0,number:!0,required:!0},{y:!0,number:!0,required:!0}],s=t.points.errorbars;if(s=="x"||s=="xy")t.points.xerr.asymmetric?(i.push({x:!0,number:!0,required:!0}),i.push({x:!0,number:!0,required:!0})):i.push({x:!0,number:!0,required:!0});if(s=="y"||s=="xy")t.points.yerr.asymmetric?(i.push({y:!0,number:!0,required:!0}),i.push({y:!0,number:!0,required:!0})):i.push({y:!0,number:!0,required:!0});r.format=i}function r(e,t){var n=e.datapoints.points,r=null,i=null,s=null,o=null,u=e.points.xerr,a=e.points.yerr,f=e.points.errorbars;f=="x"||f=="xy"?u.asymmetric?(r=n[t+2],i=n[t+3],f=="xy"&&(a.asymmetric?(s=n[t+4],o=n[t+5]):s=n[t+4])):(r=n[t+2],f=="xy"&&(a.asymmetric?(s=n[t+3],o=n[t+4]):s=n[t+3])):f=="y"&&(a.asymmetric?(s=n[t+2],o=n[t+3]):s=n[t+2]),i==null&&(i=r),o==null&&(o=s);var l=[r,i,s,o];return u.show||(l[0]=null,l[1]=null),a.show||(l[2]=null,l[3]=null),l}function i(e,t,n){var i=n.datapoints.points,o=n.datapoints.pointsize,u=[n.xaxis,n.yaxis],a=n.points.radius,f=[n.points.xerr,n.points.yerr],l=!1;if(u[0].p2c(u[0].max)<u[0].p2c(u[0].min)){l=!0;var c=f[0].lowerCap;f[0].lowerCap=f[0].upperCap,f[0].upperCap=c}var h=!1;if(u[1].p2c(u[1].min)<u[1].p2c(u[1].max)){h=!0;var c=f[1].lowerCap;f[1].lowerCap=f[1].upperCap,f[1].upperCap=c}for(var p=0;p<n.datapoints.points.length;p+=o){var d=r(n,p);for(var v=0;v<f.length;v++){var m=[u[v].min,u[v].max];if(d[v*f.length]){var g=i[p],y=i[p+1],b=[g,y][v]+d[v*f.length+1],w=[g,y][v]-d[v*f.length];if(f[v].err=="x")if(y>u[1].max||y<u[1].min||b<u[0].min||w>u[0].max)continue;if(f[v].err=="y")if(g>u[0].max||g<u[0].min||b<u[1].min||w>u[1].max)continue;var E=!0,S=!0;b>m[1]&&(E=!1,b=m[1]),w<m[0]&&(S=!1,w=m[0]);if(f[v].err=="x"&&l||f[v].err=="y"&&h){var c=w;w=b,b=c,c=S,S=E,E=c,c=m[0],m[0]=m[1],m[1]=c}g=u[0].p2c(g),y=u[1].p2c(y),b=u[v].p2c(b),w=u[v].p2c(w),m[0]=u[v].p2c(m[0]),m[1]=u[v].p2c(m[1]);var x=f[v].lineWidth?f[v].lineWidth:n.points.lineWidth,T=n.points.shadowSize!=null?n.points.shadowSize:n.shadowSize;if(x>0&&T>0){var N=T/2;t.lineWidth=N,t.strokeStyle="rgba(0,0,0,0.1)",s(t,f[v],g,y,b,w,E,S,a,N+N/2,m),t.strokeStyle="rgba(0,0,0,0.2)",s(t,f[v],g,y,b,w,E,S,a,N/2,m)}t.strokeStyle=f[v].color?f[v].color:n.color,t.lineWidth=x,s(t,f[v],g,y,b,w,E,S,a,0,m)}}}}function s(t,n,r,i,s,u,a,f,l,c,h){i+=c,s+=c,u+=c,n.err=="x"?(s>r+l?o(t,[[s,i],[Math.max(r+l,h[0]),i]]):a=!1,u<r-l?o(t,[[Math.min(r-l,h[1]),i],[u,i]]):f=!1):(s<i-l?o(t,[[r,s],[r,Math.min(i-l,h[0])]]):a=!1,u>i+l?o(t,[[r,Math.max(i+l,h[1])],[r,u]]):f=!1),l=n.radius!=null?n.radius:l,a&&(n.upperCap=="-"?n.err=="x"?o(t,[[s,i-l],[s,i+l]]):o(t,[[r-l,s],[r+l,s]]):e.isFunction(n.upperCap)&&(n.err=="x"?n.upperCap(t,s,i,l):n.upperCap(t,r,s,l))),f&&(n.lowerCap=="-"?n.err=="x"?o(t,[[u,i-l],[u,i+l]]):o(t,[[r-l,u],[r+l,u]]):e.isFunction(n.lowerCap)&&(n.err=="x"?n.lowerCap(t,u,i,l):n.lowerCap(t,r,u,l)))}function o(e,t){e.beginPath(),e.moveTo(t[0][0],t[0][1]);for(var n=1;n<t.length;n++)e.lineTo(t[n][0],t[n][1]);e.stroke()}function u(t,n){var r=t.getPlotOffset();n.save(),n.translate(r.left,r.top),e.each(t.getData(),function(e,r){r.points.errorbars&&(r.points.xerr.show||r.points.yerr.show)&&i(t,n,r)}),n.restore()}function a(e){e.hooks.processRawData.push(n),e.hooks.draw.push(u)}var t={series:{points:{errorbars:null,xerr:{err:"x",show:null,asymmetric:null,upperCap:null,lowerCap:null,color:null,radius:null},yerr:{err:"y",show:null,asymmetric:null,upperCap:null,lowerCap:null,color:null,radius:null}}}};e.plot.plugins.push({init:a,options:t,name:"errorbars",version:"1.0"})})(jQuery); \ No newline at end of file
diff --git a/public/javascripts/jquery.flot.min.js b/public/javascripts/jquery.flot.min.js
deleted file mode 100644
index 3706512c4..000000000
--- a/public/javascripts/jquery.flot.min.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Javascript plotting library for jQuery, version 0.8.1.
-
-Copyright (c) 2007-2013 IOLA and Ole Laursen.
-Licensed under the MIT license.
-
-*/// first an inline dependency, jquery.colorhelpers.js, we inline it here
-// for convenience
-/* Plugin for jQuery for working with colors.
- *
- * Version 1.1.
- *
- * Inspiration from jQuery color animation plugin by John Resig.
- *
- * Released under the MIT license by Ole Laursen, October 2009.
- *
- * Examples:
- *
- * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString()
- * var c = $.color.extract($("#mydiv"), 'background-color');
- * console.log(c.r, c.g, c.b, c.a);
- * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)"
- *
- * Note that .scale() and .add() return the same modified object
- * instead of making a new one.
- *
- * V. 1.1: Fix error handling so e.g. parsing an empty string does
- * produce a color rather than just crashing.
- */(function(e){e.color={},e.color.make=function(t,n,r,i){var s={};return s.r=t||0,s.g=n||0,s.b=r||0,s.a=i!=null?i:1,s.add=function(e,t){for(var n=0;n<e.length;++n)s[e.charAt(n)]+=t;return s.normalize()},s.scale=function(e,t){for(var n=0;n<e.length;++n)s[e.charAt(n)]*=t;return s.normalize()},s.toString=function(){return s.a>=1?"rgb("+[s.r,s.g,s.b].join(",")+")":"rgba("+[s.r,s.g,s.b,s.a].join(",")+")"},s.normalize=function(){function e(e,t,n){return t<e?e:t>n?n:t}return s.r=e(0,parseInt(s.r),255),s.g=e(0,parseInt(s.g),255),s.b=e(0,parseInt(s.b),255),s.a=e(0,s.a,1),s},s.clone=function(){return e.color.make(s.r,s.b,s.g,s.a)},s.normalize()},e.color.extract=function(t,n){var r;do{r=t.css(n).toLowerCase();if(r!=""&&r!="transparent")break;t=t.parent()}while(!e.nodeName(t.get(0),"body"));return r=="rgba(0, 0, 0, 0)"&&(r="transparent"),e.color.parse(r)},e.color.parse=function(n){var r,i=e.color.make;if(r=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10));if(r=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),parseFloat(r[4]));if(r=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55);if(r=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55,parseFloat(r[4]));if(r=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))return i(parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16));if(r=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(n))return i(parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16));var s=e.trim(n).toLowerCase();return s=="transparent"?i(255,255,255,0):(r=t[s]||[0,0,0],i(r[0],r[1],r[2]))};var t={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery),function(e){function n(t,n){var r=n.children("."+t)[0];if(r==null){r=document.createElement("canvas"),r.className=t,e(r).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(n);if(!r.getContext){if(!window.G_vmlCanvasManager)throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.");r=window.G_vmlCanvasManager.initElement(r)}}this.element=r;var i=this.context=r.getContext("2d"),s=window.devicePixelRatio||1,o=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1;this.pixelRatio=s/o,this.resize(n.width(),n.height()),this.textContainer=null,this.text={},this._textCache={}}function r(t,r,s,o){function E(e,t){t=[w].concat(t);for(var n=0;n<e.length;++n)e[n].apply(this,t)}function S(){var t={Canvas:n};for(var r=0;r<o.length;++r){var i=o[r];i.init(w,t),i.options&&e.extend(!0,a,i.options)}}function x(n){e.extend(!0,a,n),n&&n.colors&&(a.colors=n.colors),a.xaxis.color==null&&(a.xaxis.color=e.color.parse(a.grid.color).scale("a",.22).toString()),a.yaxis.color==null&&(a.yaxis.color=e.color.parse(a.grid.color).scale("a",.22).toString()),a.xaxis.tickColor==null&&(a.xaxis.tickColor=a.grid.tickColor||a.xaxis.color),a.yaxis.tickColor==null&&(a.yaxis.tickColor=a.grid.tickColor||a.yaxis.color),a.grid.borderColor==null&&(a.grid.borderColor=a.grid.color),a.grid.tickColor==null&&(a.grid.tickColor=e.color.parse(a.grid.color).scale("a",.22).toString());var r,i,s,o={style:t.css("font-style"),size:Math.round(.8*(+t.css("font-size").replace("px","")||13)),variant:t.css("font-variant"),weight:t.css("font-weight"),family:t.css("font-family")};o.lineHeight=o.size*1.15,s=a.xaxes.length||1;for(r=0;r<s;++r)i=a.xaxes[r],i&&!i.tickColor&&(i.tickColor=i.color),i=e.extend(!0,{},a.xaxis,i),a.xaxes[r]=i,i.font&&(i.font=e.extend({},o,i.font),i.font.color||(i.font.color=i.color));s=a.yaxes.length||1;for(r=0;r<s;++r)i=a.yaxes[r],i&&!i.tickColor&&(i.tickColor=i.color),i=e.extend(!0,{},a.yaxis,i),a.yaxes[r]=i,i.font&&(i.font=e.extend({},o,i.font),i.font.color||(i.font.color=i.color));a.xaxis.noTicks&&a.xaxis.ticks==null&&(a.xaxis.ticks=a.xaxis.noTicks),a.yaxis.noTicks&&a.yaxis.ticks==null&&(a.yaxis.ticks=a.yaxis.noTicks),a.x2axis&&(a.xaxes[1]=e.extend(!0,{},a.xaxis,a.x2axis),a.xaxes[1].position="top"),a.y2axis&&(a.yaxes[1]=e.extend(!0,{},a.yaxis,a.y2axis),a.yaxes[1].position="right"),a.grid.coloredAreas&&(a.grid.markings=a.grid.coloredAreas),a.grid.coloredAreasColor&&(a.grid.markingsColor=a.grid.coloredAreasColor),a.lines&&e.extend(!0,a.series.lines,a.lines),a.points&&e.extend(!0,a.series.points,a.points),a.bars&&e.extend(!0,a.series.bars,a.bars),a.shadowSize!=null&&(a.series.shadowSize=a.shadowSize),a.highlightColor!=null&&(a.series.highlightColor=a.highlightColor);for(r=0;r<a.xaxes.length;++r)O(d,r+1).options=a.xaxes[r];for(r=0;r<a.yaxes.length;++r)O(v,r+1).options=a.yaxes[r];for(var u in b)a.hooks[u]&&a.hooks[u].length&&(b[u]=b[u].concat(a.hooks[u]));E(b.processOptions,[a])}function T(e){u=N(e),M(),_()}function N(t){var n=[];for(var r=0;r<t.length;++r){var i=e.extend(!0,{},a.series);t[r].data!=null?(i.data=t[r].data,delete t[r].data,e.extend(!0,i,t[r]),t[r].data=i.data):i.data=t[r],n.push(i)}return n}function C(e,t){var n=e[t+"axis"];return typeof n=="object"&&(n=n.n),typeof n!="number"&&(n=1),n}function k(){return e.grep(d.concat(v),function(e){return e})}function L(e){var t={},n,r;for(n=0;n<d.length;++n)r=d[n],r&&r.used&&(t["x"+r.n]=r.c2p(e.left));for(n=0;n<v.length;++n)r=v[n],r&&r.used&&(t["y"+r.n]=r.c2p(e.top));return t.x1!==undefined&&(t.x=t.x1),t.y1!==undefined&&(t.y=t.y1),t}function A(e){var t={},n,r,i;for(n=0;n<d.length;++n){r=d[n];if(r&&r.used){i="x"+r.n,e[i]==null&&r.n==1&&(i="x");if(e[i]!=null){t.left=r.p2c(e[i]);break}}}for(n=0;n<v.length;++n){r=v[n];if(r&&r.used){i="y"+r.n,e[i]==null&&r.n==1&&(i="y");if(e[i]!=null){t.top=r.p2c(e[i]);break}}}return t}function O(t,n){return t[n-1]||(t[n-1]={n:n,direction:t==d?"x":"y",options:e.extend(!0,{},t==d?a.xaxis:a.yaxis)}),t[n-1]}function M(){var t=u.length,n=-1,r;for(r=0;r<u.length;++r){var i=u[r].color;i!=null&&(t--,typeof i=="number"&&i>n&&(n=i))}t<=n&&(t=n+1);var s,o=[],f=a.colors,l=f.length,c=0;for(r=0;r<t;r++)s=e.color.parse(f[r%l]||"#666"),r%l==0&&r&&(c>=0?c<.5?c=-c-.2:c=0:c=-c),o[r]=s.scale("rgb",1+c);var h=0,p;for(r=0;r<u.length;++r){p=u[r],p.color==null?(p.color=o[h].toString(),++h):typeof p.color=="number"&&(p.color=o[p.color].toString());if(p.lines.show==null){var m,g=!0;for(m in p)if(p[m]&&p[m].show){g=!1;break}g&&(p.lines.show=!0)}p.lines.zero==null&&(p.lines.zero=!!p.lines.fill),p.xaxis=O(d,C(p,"x")),p.yaxis=O(v,C(p,"y"))}}function _(){function x(e,t,n){t<e.datamin&&t!=-r&&(e.datamin=t),n>e.datamax&&n!=r&&(e.datamax=n)}var t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=Number.MAX_VALUE,i,s,o,a,f,l,c,h,p,d,v,m,g,y,w,S;e.each(k(),function(e,r){r.datamin=t,r.datamax=n,r.used=!1});for(i=0;i<u.length;++i)l=u[i],l.datapoints={points:[]},E(b.processRawData,[l,l.data,l.datapoints]);for(i=0;i<u.length;++i){l=u[i],w=l.data,S=l.datapoints.format;if(!S){S=[],S.push({x:!0,number:!0,required:!0}),S.push({y:!0,number:!0,required:!0});if(l.bars.show||l.lines.show&&l.lines.fill){var T=!!(l.bars.show&&l.bars.zero||l.lines.show&&l.lines.zero);S.push({y:!0,number:!0,required:!1,defaultValue:0,autoscale:T}),l.bars.horizontal&&(delete S[S.length-1].y,S[S.length-1].x=!0)}l.datapoints.format=S}if(l.datapoints.pointsize!=null)continue;l.datapoints.pointsize=S.length,h=l.datapoints.pointsize,c=l.datapoints.points;var N=l.lines.show&&l.lines.steps;l.xaxis.used=l.yaxis.used=!0;for(s=o=0;s<w.length;++s,o+=h){y=w[s];var C=y==null;if(!C)for(a=0;a<h;++a)m=y[a],g=S[a],g&&(g.number&&m!=null&&(m=+m,isNaN(m)?m=null:m==Infinity?m=r:m==-Infinity&&(m=-r)),m==null&&(g.required&&(C=!0),g.defaultValue!=null&&(m=g.defaultValue))),c[o+a]=m;if(C)for(a=0;a<h;++a)m=c[o+a],m!=null&&(g=S[a],g.autoscale&&(g.x&&x(l.xaxis,m,m),g.y&&x(l.yaxis,m,m))),c[o+a]=null;else if(N&&o>0&&c[o-h]!=null&&c[o-h]!=c[o]&&c[o-h+1]!=c[o+1]){for(a=0;a<h;++a)c[o+h+a]=c[o+a];c[o+1]=c[o-h+1],o+=h}}}for(i=0;i<u.length;++i)l=u[i],E(b.processDatapoints,[l,l.datapoints]);for(i=0;i<u.length;++i){l=u[i],c=l.datapoints.points,h=l.datapoints.pointsize,S=l.datapoints.format;var L=t,A=t,O=n,M=n;for(s=0;s<c.length;s+=h){if(c[s]==null)continue;for(a=0;a<h;++a){m=c[s+a],g=S[a];if(!g||g.autoscale===!1||m==r||m==-r)continue;g.x&&(m<L&&(L=m),m>O&&(O=m)),g.y&&(m<A&&(A=m),m>M&&(M=m))}}if(l.bars.show){var _;switch(l.bars.align){case"left":_=0;break;case"right":_=-l.bars.barWidth;break;case"center":_=-l.bars.barWidth/2;break;default:throw new Error("Invalid bar alignment: "+l.bars.align)}l.bars.horizontal?(A+=_,M+=_+l.bars.barWidth):(L+=_,O+=_+l.bars.barWidth)}x(l.xaxis,L,O),x(l.yaxis,A,M)}e.each(k(),function(e,r){r.datamin==t&&(r.datamin=null),r.datamax==n&&(r.datamax=null)})}function D(){t.css("padding",0).children(":not(.flot-base,.flot-overlay)").remove(),t.css("position")=="static"&&t.css("position","relative"),f=new n("flot-base",t),l=new n("flot-overlay",t),h=f.context,p=l.context,c=e(l.element).unbind();var r=t.data("plot");r&&(r.shutdown(),l.clear()),t.data("plot",w)}function P(){a.grid.hoverable&&(c.mousemove(at),c.bind("mouseleave",ft)),a.grid.clickable&&c.click(lt),E(b.bindEvents,[c])}function H(){ot&&clearTimeout(ot),c.unbind("mousemove",at),c.unbind("mouseleave",ft),c.unbind("click",lt),E(b.shutdown,[c])}function B(e){function t(e){return e}var n,r,i=e.options.transform||t,s=e.options.inverseTransform;e.direction=="x"?(n=e.scale=g/Math.abs(i(e.max)-i(e.min)),r=Math.min(i(e.max),i(e.min))):(n=e.scale=y/Math.abs(i(e.max)-i(e.min)),n=-n,r=Math.max(i(e.max),i(e.min))),i==t?e.p2c=function(e){return(e-r)*n}:e.p2c=function(e){return(i(e)-r)*n},s?e.c2p=function(e){return s(r+e/n)}:e.c2p=function(e){return r+e/n}}function j(e){var t=e.options,n=e.ticks||[],r=t.labelWidth||0,i=t.labelHeight||0,s=r||e.direction=="x"?Math.floor(f.width/(n.length||1)):null;legacyStyles=e.direction+"Axis "+e.direction+e.n+"Axis",layer="flot-"+e.direction+"-axis flot-"+e.direction+e.n+"-axis "+legacyStyles,font=t.font||"flot-tick-label tickLabel";for(var o=0;o<n.length;++o){var u=n[o];if(!u.label)continue;var a=f.getTextInfo(layer,u.label,font,null,s);r=Math.max(r,a.width),i=Math.max(i,a.height)}e.labelWidth=t.labelWidth||r,e.labelHeight=t.labelHeight||i}function F(t){var n=t.labelWidth,r=t.labelHeight,i=t.options.position,s=t.options.tickLength,o=a.grid.axisMargin,u=a.grid.labelMargin,l=t.direction=="x"?d:v,c,h,p=e.grep(l,function(e){return e&&e.options.position==i&&e.reserveSpace});e.inArray(t,p)==p.length-1&&(o=0);if(s==null){var g=e.grep(l,function(e){return e&&e.reserveSpace});h=e.inArray(t,g)==0,h?s="full":s=5}isNaN(+s)||(u+=+s),t.direction=="x"?(r+=u,i=="bottom"?(m.bottom+=r+o,t.box={top:f.height-m.bottom,height:r}):(t.box={top:m.top+o,height:r},m.top+=r+o)):(n+=u,i=="left"?(t.box={left:m.left+o,width:n},m.left+=n+o):(m.right+=n+o,t.box={left:f.width-m.right,width:n})),t.position=i,t.tickLength=s,t.box.padding=u,t.innermost=h}function I(e){e.direction=="x"?(e.box.left=m.left-e.labelWidth/2,e.box.width=f.width-m.left-m.right+e.labelWidth):(e.box.top=m.top-e.labelHeight/2,e.box.height=f.height-m.bottom-m.top+e.labelHeight)}function q(){var t=a.grid.minBorderMargin,n={x:0,y:0},r,i;if(t==null){t=0;for(r=0;r<u.length;++r)t=Math.max(t,2*(u[r].points.radius+u[r].points.lineWidth/2))}n.x=n.y=Math.ceil(t),e.each(k(),function(e,t){var r=t.direction;t.reserveSpace&&(n[r]=Math.ceil(Math.max(n[r],(r=="x"?t.labelWidth:t.labelHeight)/2)))}),m.left=Math.max(n.x,m.left),m.right=Math.max(n.x,m.right),m.top=Math.max(n.y,m.top),m.bottom=Math.max(n.y,m.bottom)}function R(){var t,n=k(),r=a.grid.show;for(var i in m){var s=a.grid.margin||0;m[i]=typeof s=="number"?s:s[i]||0}E(b.processOffset,[m]);for(var i in m)typeof a.grid.borderWidth=="object"?m[i]+=r?a.grid.borderWidth[i]:0:m[i]+=r?a.grid.borderWidth:0;e.each(n,function(e,t){t.show=t.options.show,t.show==null&&(t.show=t.used),t.reserveSpace=t.show||t.options.reserveSpace,U(t)});if(r){var o=e.grep(n,function(e){return e.reserveSpace});e.each(o,function(e,t){z(t),W(t),X(t,t.ticks),j(t)});for(t=o.length-1;t>=0;--t)F(o[t]);q(),e.each(o,function(e,t){I(t)})}g=f.width-m.left-m.right,y=f.height-m.bottom-m.top,e.each(n,function(e,t){B(t)}),r&&G(),it()}function U(e){var t=e.options,n=+(t.min!=null?t.min:e.datamin),r=+(t.max!=null?t.max:e.datamax),i=r-n;if(i==0){var s=r==0?1:.01;t.min==null&&(n-=s);if(t.max==null||t.min!=null)r+=s}else{var o=t.autoscaleMargin;o!=null&&(t.min==null&&(n-=i*o,n<0&&e.datamin!=null&&e.datamin>=0&&(n=0)),t.max==null&&(r+=i*o,r>0&&e.datamax!=null&&e.datamax<=0&&(r=0)))}e.min=n,e.max=r}function z(t){var n=t.options,r;typeof n.ticks=="number"&&n.ticks>0?r=n.ticks:r=.3*Math.sqrt(t.direction=="x"?f.width:f.height);var s=(t.max-t.min)/r,o=-Math.floor(Math.log(s)/Math.LN10),u=n.tickDecimals;u!=null&&o>u&&(o=u);var a=Math.pow(10,-o),l=s/a,c;l<1.5?c=1:l<3?(c=2,l>2.25&&(u==null||o+1<=u)&&(c=2.5,++o)):l<7.5?c=5:c=10,c*=a,n.minTickSize!=null&&c<n.minTickSize&&(c=n.minTickSize),t.delta=s,t.tickDecimals=Math.max(0,u!=null?u:o),t.tickSize=n.tickSize||c;if(n.mode=="time"&&!t.tickGenerator)throw new Error("Time mode requires the flot.time plugin.");t.tickGenerator||(t.tickGenerator=function(e){var t=[],n=i(e.min,e.tickSize),r=0,s=Number.NaN,o;do o=s,s=n+r*e.tickSize,t.push(s),++r;while(s<e.max&&s!=o);return t},t.tickFormatter=function(e,t){var n=t.tickDecimals?Math.pow(10,t.tickDecimals):1,r=""+Math.round(e*n)/n;if(t.tickDecimals!=null){var i=r.indexOf("."),s=i==-1?0:r.length-i-1;if(s<t.tickDecimals)return(s?r:r+".")+(""+n).substr(1,t.tickDecimals-s)}return r}),e.isFunction(n.tickFormatter)&&(t.tickFormatter=function(e,t){return""+n.tickFormatter(e,t)});if(n.alignTicksWithAxis!=null){var h=(t.direction=="x"?d:v)[n.alignTicksWithAxis-1];if(h&&h.used&&h!=t){var p=t.tickGenerator(t);p.length>0&&(n.min==null&&(t.min=Math.min(t.min,p[0])),n.max==null&&p.length>1&&(t.max=Math.max(t.max,p[p.length-1]))),t.tickGenerator=function(e){var t=[],n,r;for(r=0;r<h.ticks.length;++r)n=(h.ticks[r].v-h.min)/(h.max-h.min),n=e.min+n*(e.max-e.min),t.push(n);return t};if(!t.mode&&n.tickDecimals==null){var m=Math.max(0,-Math.floor(Math.log(t.delta)/Math.LN10)+1),g=t.tickGenerator(t);g.length>1&&/\..*0$/.test((g[1]-g[0]).toFixed(m))||(t.tickDecimals=m)}}}}function W(t){var n=t.options.ticks,r=[];n==null||typeof n=="number"&&n>0?r=t.tickGenerator(t):n&&(e.isFunction(n)?r=n(t):r=n);var i,s;t.ticks=[];for(i=0;i<r.length;++i){var o=null,u=r[i];typeof u=="object"?(s=+u[0],u.length>1&&(o=u[1])):s=+u,o==null&&(o=t.tickFormatter(s,t)),isNaN(s)||t.ticks.push({v:s,label:o})}}function X(e,t){e.options.autoscaleMargin&&t.length>0&&(e.options.min==null&&(e.min=Math.min(e.min,t[0].v)),e.options.max==null&&t.length>1&&(e.max=Math.max(e.max,t[t.length-1].v)))}function V(){f.clear(),E(b.drawBackground,[h]);var e=a.grid;e.show&&e.backgroundColor&&K(),e.show&&!e.aboveData&&Q();for(var t=0;t<u.length;++t)E(b.drawSeries,[h,u[t]]),Y(u[t]);E(b.draw,[h]),e.show&&e.aboveData&&Q(),f.render(),ht()}function J(e,t){var n,r,i,s,o=k();for(var u=0;u<o.length;++u){n=o[u];if(n.direction==t){s=t+n.n+"axis",!e[s]&&n.n==1&&(s=t+"axis");if(e[s]){r=e[s].from,i=e[s].to;break}}}e[s]||(n=t=="x"?d[0]:v[0],r=e[t+"1"],i=e[t+"2"]);if(r!=null&&i!=null&&r>i){var a=r;r=i,i=a}return{from:r,to:i,axis:n}}function K(){h.save(),h.translate(m.left,m.top),h.fillStyle=bt(a.grid.backgroundColor,y,0,"rgba(255, 255, 255, 0)"),h.fillRect(0,0,g,y),h.restore()}function Q(){var t,n,r,i;h.save(),h.translate(m.left,m.top);var s=a.grid.markings;if(s){e.isFunction(s)&&(n=w.getAxes(),n.xmin=n.xaxis.min,n.xmax=n.xaxis.max,n.ymin=n.yaxis.min,n.ymax=n.yaxis.max,s=s(n));for(t=0;t<s.length;++t){var o=s[t],u=J(o,"x"),f=J(o,"y");u.from==null&&(u.from=u.axis.min),u.to==null&&(u.to=u.axis.max),f.from==null&&(f.from=f.axis.min),f.to==null&&(f.to=f.axis.max);if(u.to<u.axis.min||u.from>u.axis.max||f.to<f.axis.min||f.from>f.axis.max)continue;u.from=Math.max(u.from,u.axis.min),u.to=Math.min(u.to,u.axis.max),f.from=Math.max(f.from,f.axis.min),f.to=Math.min(f.to,f.axis.max);if(u.from==u.to&&f.from==f.to)continue;u.from=u.axis.p2c(u.from),u.to=u.axis.p2c(u.to),f.from=f.axis.p2c(f.from),f.to=f.axis.p2c(f.to),u.from==u.to||f.from==f.to?(h.beginPath(),h.strokeStyle=o.color||a.grid.markingsColor,h.lineWidth=o.lineWidth||a.grid.markingsLineWidth,h.moveTo(u.from,f.from),h.lineTo(u.to,f.to),h.stroke()):(h.fillStyle=o.color||a.grid.markingsColor,h.fillRect(u.from,f.to,u.to-u.from,f.from-f.to))}}n=k(),r=a.grid.borderWidth;for(var l=0;l<n.length;++l){var c=n[l],p=c.box,d=c.tickLength,v,b,E,S;if(!c.show||c.ticks.length==0)continue;h.lineWidth=1,c.direction=="x"?(v=0,d=="full"?b=c.position=="top"?0:y:b=p.top-m.top+(c.position=="top"?p.height:0)):(b=0,d=="full"?v=c.position=="left"?0:g:v=p.left-m.left+(c.position=="left"?p.width:0)),c.innermost||(h.strokeStyle=c.options.color,h.beginPath(),E=S=0,c.direction=="x"?E=g+1:S=y+1,h.lineWidth==1&&(c.direction=="x"?b=Math.floor(b)+.5:v=Math.floor(v)+.5),h.moveTo(v,b),h.lineTo(v+E,b+S),h.stroke()),h.strokeStyle=c.options.tickColor,h.beginPath();for(t=0;t<c.ticks.length;++t){var x=c.ticks[t].v;E=S=0;if(isNaN(x)||x<c.min||x>c.max||d=="full"&&(typeof r=="object"&&r[c.position]>0||r>0)&&(x==c.min||x==c.max))continue;c.direction=="x"?(v=c.p2c(x),S=d=="full"?-y:d,c.position=="top"&&(S=-S)):(b=c.p2c(x),E=d=="full"?-g:d,c.position=="left"&&(E=-E)),h.lineWidth==1&&(c.direction=="x"?v=Math.floor(v)+.5:b=Math.floor(b)+.5),h.moveTo(v,b),h.lineTo(v+E,b+S)}h.stroke()}r&&(i=a.grid.borderColor,typeof r=="object"||typeof i=="object"?(typeof r!="object"&&(r={top:r,right:r,bottom:r,left:r}),typeof i!="object"&&(i={top:i,right:i,bottom:i,left:i}),r.top>0&&(h.strokeStyle=i.top,h.lineWidth=r.top,h.beginPath(),h.moveTo(0-r.left,0-r.top/2),h.lineTo(g,0-r.top/2),h.stroke()),r.right>0&&(h.strokeStyle=i.right,h.lineWidth=r.right,h.beginPath(),h.moveTo(g+r.right/2,0-r.top),h.lineTo(g+r.right/2,y),h.stroke()),r.bottom>0&&(h.strokeStyle=i.bottom,h.lineWidth=r.bottom,h.beginPath(),h.moveTo(g+r.right,y+r.bottom/2),h.lineTo(0,y+r.bottom/2),h.stroke()),r.left>0&&(h.strokeStyle=i.left,h.lineWidth=r.left,h.beginPath(),h.moveTo(0-r.left/2,y+r.bottom),h.lineTo(0-r.left/2,0),h.stroke())):(h.lineWidth=r,h.strokeStyle=a.grid.borderColor,h.strokeRect(-r/2,-r/2,g+r,y+r))),h.restore()}function G(){e.each(k(),function(e,t){if(!t.show||t.ticks.length==0)return;var n=t.box,r=t.direction+"Axis "+t.direction+t.n+"Axis",i="flot-"+t.direction+"-axis flot-"+t.direction+t.n+"-axis "+r,s=t.options.font||"flot-tick-label tickLabel",o,u,a,l,c;f.removeText(i);for(var h=0;h<t.ticks.length;++h){o=t.ticks[h];if(!o.label||o.v<t.min||o.v>t.max)continue;t.direction=="x"?(l="center",u=m.left+t.p2c(o.v),t.position=="bottom"?a=n.top+n.padding:(a=n.top+n.height-n.padding,c="bottom")):(c="middle",a=m.top+t.p2c(o.v),t.position=="left"?(u=n.left+n.width-n.padding,l="right"):u=n.left+n.padding),f.addText(i,u,a,o.label,s,null,null,l,c)}})}function Y(e){e.lines.show&&Z(e),e.bars.show&&nt(e),e.points.show&&et(e)}function Z(e){function t(e,t,n,r,i){var s=e.points,o=e.pointsize,u=null,a=null;h.beginPath();for(var f=o;f<s.length;f+=o){var l=s[f-o],c=s[f-o+1],p=s[f],d=s[f+1];if(l==null||p==null)continue;if(c<=d&&c<i.min){if(d<i.min)continue;l=(i.min-c)/(d-c)*(p-l)+l,c=i.min}else if(d<=c&&d<i.min){if(c<i.min)continue;p=(i.min-c)/(d-c)*(p-l)+l,d=i.min}if(c>=d&&c>i.max){if(d>i.max)continue;l=(i.max-c)/(d-c)*(p-l)+l,c=i.max}else if(d>=c&&d>i.max){if(c>i.max)continue;p=(i.max-c)/(d-c)*(p-l)+l,d=i.max}if(l<=p&&l<r.min){if(p<r.min)continue;c=(r.min-l)/(p-l)*(d-c)+c,l=r.min}else if(p<=l&&p<r.min){if(l<r.min)continue;d=(r.min-l)/(p-l)*(d-c)+c,p=r.min}if(l>=p&&l>r.max){if(p>r.max)continue;c=(r.max-l)/(p-l)*(d-c)+c,l=r.max}else if(p>=l&&p>r.max){if(l>r.max)continue;d=(r.max-l)/(p-l)*(d-c)+c,p=r.max}(l!=u||c!=a)&&h.moveTo(r.p2c(l)+t,i.p2c(c)+n),u=p,a=d,h.lineTo(r.p2c(p)+t,i.p2c(d)+n)}h.stroke()}function n(e,t,n){var r=e.points,i=e.pointsize,s=Math.min(Math.max(0,n.min),n.max),o=0,u,a=!1,f=1,l=0,c=0;for(;;){if(i>0&&o>r.length+i)break;o+=i;var p=r[o-i],d=r[o-i+f],v=r[o],m=r[o+f];if(a){if(i>0&&p!=null&&v==null){c=o,i=-i,f=2;continue}if(i<0&&o==l+i){h.fill(),a=!1,i=-i,f=1,o=l=c+i;continue}}if(p==null||v==null)continue;if(p<=v&&p<t.min){if(v<t.min)continue;d=(t.min-p)/(v-p)*(m-d)+d,p=t.min}else if(v<=p&&v<t.min){if(p<t.min)continue;m=(t.min-p)/(v-p)*(m-d)+d,v=t.min}if(p>=v&&p>t.max){if(v>t.max)continue;d=(t.max-p)/(v-p)*(m-d)+d,p=t.max}else if(v>=p&&v>t.max){if(p>t.max)continue;m=(t.max-p)/(v-p)*(m-d)+d,v=t.max}a||(h.beginPath(),h.moveTo(t.p2c(p),n.p2c(s)),a=!0);if(d>=n.max&&m>=n.max){h.lineTo(t.p2c(p),n.p2c(n.max)),h.lineTo(t.p2c(v),n.p2c(n.max));continue}if(d<=n.min&&m<=n.min){h.lineTo(t.p2c(p),n.p2c(n.min)),h.lineTo(t.p2c(v),n.p2c(n.min));continue}var g=p,y=v;d<=m&&d<n.min&&m>=n.min?(p=(n.min-d)/(m-d)*(v-p)+p,d=n.min):m<=d&&m<n.min&&d>=n.min&&(v=(n.min-d)/(m-d)*(v-p)+p,m=n.min),d>=m&&d>n.max&&m<=n.max?(p=(n.max-d)/(m-d)*(v-p)+p,d=n.max):m>=d&&m>n.max&&d<=n.max&&(v=(n.max-d)/(m-d)*(v-p)+p,m=n.max),p!=g&&h.lineTo(t.p2c(g),n.p2c(d)),h.lineTo(t.p2c(p),n.p2c(d)),h.lineTo(t.p2c(v),n.p2c(m)),v!=y&&(h.lineTo(t.p2c(v),n.p2c(m)),h.lineTo(t.p2c(y),n.p2c(m)))}}h.save(),h.translate(m.left,m.top),h.lineJoin="round";var r=e.lines.lineWidth,i=e.shadowSize;if(r>0&&i>0){h.lineWidth=i,h.strokeStyle="rgba(0,0,0,0.1)";var s=Math.PI/18;t(e.datapoints,Math.sin(s)*(r/2+i/2),Math.cos(s)*(r/2+i/2),e.xaxis,e.yaxis),h.lineWidth=i/2,t(e.datapoints,Math.sin(s)*(r/2+i/4),Math.cos(s)*(r/2+i/4),e.xaxis,e.yaxis)}h.lineWidth=r,h.strokeStyle=e.color;var o=rt(e.lines,e.color,0,y);o&&(h.fillStyle=o,n(e.datapoints,e.xaxis,e.yaxis)),r>0&&t(e.datapoints,0,0,e.xaxis,e.yaxis),h.restore()}function et(e){function t(e,t,n,r,i,s,o,u){var a=e.points,f=e.pointsize;for(var l=0;l<a.length;l+=f){var c=a[l],p=a[l+1];if(c==null||c<s.min||c>s.max||p<o.min||p>o.max)continue;h.beginPath(),c=s.p2c(c),p=o.p2c(p)+r,u=="circle"?h.arc(c,p,t,0,i?Math.PI:Math.PI*2,!1):u(h,c,p,t,i),h.closePath(),n&&(h.fillStyle=n,h.fill()),h.stroke()}}h.save(),h.translate(m.left,m.top);var n=e.points.lineWidth,r=e.shadowSize,i=e.points.radius,s=e.points.symbol;n==0&&(n=1e-4);if(n>0&&r>0){var o=r/2;h.lineWidth=o,h.strokeStyle="rgba(0,0,0,0.1)",t(e.datapoints,i,null,o+o/2,!0,e.xaxis,e.yaxis,s),h.strokeStyle="rgba(0,0,0,0.2)",t(e.datapoints,i,null,o/2,!0,e.xaxis,e.yaxis,s)}h.lineWidth=n,h.strokeStyle=e.color,t(e.datapoints,i,rt(e.points,e.color),0,!1,e.xaxis,e.yaxis,s),h.restore()}function tt(e,t,n,r,i,s,o,u,a,f,l,c){var h,p,d,v,m,g,y,b,w;l?(b=g=y=!0,m=!1,h=n,p=e,v=t+r,d=t+i,p<h&&(w=p,p=h,h=w,m=!0,g=!1)):(m=g=y=!0,b=!1,h=e+r,p=e+i,d=n,v=t,v<d&&(w=v,v=d,d=w,b=!0,y=!1));if(p<u.min||h>u.max||v<a.min||d>a.max)return;h<u.min&&(h=u.min,m=!1),p>u.max&&(p=u.max,g=!1),d<a.min&&(d=a.min,b=!1),v>a.max&&(v=a.max,y=!1),h=u.p2c(h),d=a.p2c(d),p=u.p2c(p),v=a.p2c(v),o&&(f.beginPath(),f.moveTo(h,d),f.lineTo(h,v),f.lineTo(p,v),f.lineTo(p,d),f.fillStyle=o(d,v),f.fill()),c>0&&(m||g||y||b)&&(f.beginPath(),f.moveTo(h,d+s),m?f.lineTo(h,v+s):f.moveTo(h,v+s),y?f.lineTo(p,v+s):f.moveTo(p,v+s),g?f.lineTo(p,d+s):f.moveTo(p,d+s),b?f.lineTo(h,d+s):f.moveTo(h,d+s),f.stroke())}function nt(e){function t(t,n,r,i,s,o,u){var a=t.points,f=t.pointsize;for(var l=0;l<a.length;l+=f){if(a[l]==null)continue;tt(a[l],a[l+1],a[l+2],n,r,i,s,o,u,h,e.bars.horizontal,e.bars.lineWidth)}}h.save(),h.translate(m.left,m.top),h.lineWidth=e.bars.lineWidth,h.strokeStyle=e.color;var n;switch(e.bars.align){case"left":n=0;break;case"right":n=-e.bars.barWidth;break;case"center":n=-e.bars.barWidth/2;break;default:throw new Error("Invalid bar alignment: "+e.bars.align)}var r=e.bars.fill?function(t,n){return rt(e.bars,e.color,t,n)}:null;t(e.datapoints,n,n+e.bars.barWidth,0,r,e.xaxis,e.yaxis),h.restore()}function rt(t,n,r,i){var s=t.fill;if(!s)return null;if(t.fillColor)return bt(t.fillColor,r,i,n);var o=e.color.parse(n);return o.a=typeof s=="number"?s:.4,o.normalize(),o.toString()}function it(){t.find(".legend").remove();if(!a.legend.show)return;var n=[],r=[],i=!1,s=a.legend.labelFormatter,o,f;for(var l=0;l<u.length;++l)o=u[l],o.label&&(f=s?s(o.label,o):o.label,f&&r.push({label:f,color:o.color}));if(a.legend.sorted)if(e.isFunction(a.legend.sorted))r.sort(a.legend.sorted);else if(a.legend.sorted=="reverse")r.reverse();else{var c=a.legend.sorted!="descending";r.sort(function(e,t){return e.label==t.label?0:e.label<t.label!=c?1:-1})}for(var l=0;l<r.length;++l){var h=r[l];l%a.legend.noColumns==0&&(i&&n.push("</tr>"),n.push("<tr>"),i=!0),n.push('<td class="legendColorBox"><div style="border:1px solid '+a.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+h.color+';overflow:hidden"></div></div></td>'+'<td class="legendLabel">'+h.label+"</td>")}i&&n.push("</tr>");if(n.length==0)return;var p='<table style="font-size:smaller;color:'+a.grid.color+'">'+n.join("")+"</table>";if(a.legend.container!=null)e(a.legend.container).html(p);else{var d="",v=a.legend.position,g=a.legend.margin;g[0]==null&&(g=[g,g]),v.charAt(0)=="n"?d+="top:"+(g[1]+m.top)+"px;":v.charAt(0)=="s"&&(d+="bottom:"+(g[1]+m.bottom)+"px;"),v.charAt(1)=="e"?d+="right:"+(g[0]+m.right)+"px;":v.charAt(1)=="w"&&(d+="left:"+(g[0]+m.left)+"px;");var y=e('<div class="legend">'+p.replace('style="','style="position:absolute;'+d+";")+"</div>").appendTo(t);if(a.legend.backgroundOpacity!=0){var b=a.legend.backgroundColor;b==null&&(b=a.grid.backgroundColor,b&&typeof b=="string"?b=e.color.parse(b):b=e.color.extract(y,"background-color"),b.a=1,b=b.toString());var w=y.children();e('<div style="position:absolute;width:'+w.width()+"px;height:"+w.height()+"px;"+d+"background-color:"+b+';"> </div>').prependTo(y).css("opacity",a.legend.backgroundOpacity)}}}function ut(e,t,n){var r=a.grid.mouseActiveRadius,i=r*r+1,s=null,o=!1,f,l,c;for(f=u.length-1;f>=0;--f){if(!n(u[f]))continue;var h=u[f],p=h.xaxis,d=h.yaxis,v=h.datapoints.points,m=p.c2p(e),g=d.c2p(t),y=r/p.scale,b=r/d.scale;c=h.datapoints.pointsize,p.options.inverseTransform&&(y=Number.MAX_VALUE),d.options.inverseTransform&&(b=Number.MAX_VALUE);if(h.lines.show||h.points.show)for(l=0;l<v.length;l+=c){var w=v[l],E=v[l+1];if(w==null)continue;if(w-m>y||w-m<-y||E-g>b||E-g<-b)continue;var S=Math.abs(p.p2c(w)-e),x=Math.abs(d.p2c(E)-t),T=S*S+x*x;T<i&&(i=T,s=[f,l/c])}if(h.bars.show&&!s){var N=h.bars.align=="left"?0:-h.bars.barWidth/2,C=N+h.bars.barWidth;for(l=0;l<v.length;l+=c){var w=v[l],E=v[l+1],k=v[l+2];if(w==null)continue;if(u[f].bars.horizontal?m<=Math.max(k,w)&&m>=Math.min(k,w)&&g>=E+N&&g<=E+C:m>=w+N&&m<=w+C&&g>=Math.min(k,E)&&g<=Math.max(k,E))s=[f,l/c]}}}return s?(f=s[0],l=s[1],c=u[f].datapoints.pointsize,{datapoint:u[f].datapoints.points.slice(l*c,(l+1)*c),dataIndex:l,series:u[f],seriesIndex:f}):null}function at(e){a.grid.hoverable&&ct("plothover",e,function(e){return e["hoverable"]!=0})}function ft(e){a.grid.hoverable&&ct("plothover",e,function(e){return!1})}function lt(e){ct("plotclick",e,function(e){return e["clickable"]!=0})}function ct(e,n,r){var i=c.offset(),s=n.pageX-i.left-m.left,o=n.pageY-i.top-m.top,u=L({left:s,top:o});u.pageX=n.pageX,u.pageY=n.pageY;var f=ut(s,o,r);f&&(f.pageX=parseInt(f.series.xaxis.p2c(f.datapoint[0])+i.left+m.left,10),f.pageY=parseInt(f.series.yaxis.p2c(f.datapoint[1])+i.top+m.top,10));if(a.grid.autoHighlight){for(var l=0;l<st.length;++l){var h=st[l];h.auto==e&&(!f||h.series!=f.series||h.point[0]!=f.datapoint[0]||h.point[1]!=f.datapoint[1])&&vt(h.series,h.point)}f&&dt(f.series,f.datapoint,e)}t.trigger(e,[u,f])}function ht(){var e=a.interaction.redrawOverlayInterval;if(e==-1){pt();return}ot||(ot=setTimeout(pt,e))}function pt(){ot=null,p.save(),l.clear(),p.translate(m.left,m.top);var e,t;for(e=0;e<st.length;++e)t=st[e],t.series.bars.show?yt(t.series,t.point):gt(t.series,t.point);p.restore(),E(b.drawOverlay,[p])}function dt(e,t,n){typeof e=="number"&&(e=u[e]);if(typeof t=="number"){var r=e.datapoints.pointsize;t=e.datapoints.points.slice(r*t,r*(t+1))}var i=mt(e,t);i==-1?(st.push({series:e,point:t,auto:n}),ht()):n||(st[i].auto=!1)}function vt(e,t){if(e==null&&t==null){st=[],ht();return}typeof e=="number"&&(e=u[e]);if(typeof t=="number"){var n=e.datapoints.pointsize;t=e.datapoints.points.slice(n*t,n*(t+1))}var r=mt(e,t);r!=-1&&(st.splice(r,1),ht())}function mt(e,t){for(var n=0;n<st.length;++n){var r=st[n];if(r.series==e&&r.point[0]==t[0]&&r.point[1]==t[1])return n}return-1}function gt(t,n){var r=n[0],i=n[1],s=t.xaxis,o=t.yaxis,u=typeof t.highlightColor=="string"?t.highlightColor:e.color.parse(t.color).scale("a",.5).toString();if(r<s.min||r>s.max||i<o.min||i>o.max)return;var a=t.points.radius+t.points.lineWidth/2;p.lineWidth=a,p.strokeStyle=u;var f=1.5*a;r=s.p2c(r),i=o.p2c(i),p.beginPath(),t.points.symbol=="circle"?p.arc(r,i,f,0,2*Math.PI,!1):t.points.symbol(p,r,i,f,!1),p.closePath(),p.stroke()}function yt(t,n){var r=typeof t.highlightColor=="string"?t.highlightColor:e.color.parse(t.color).scale("a",.5).toString(),i=r,s=t.bars.align=="left"?0:-t.bars.barWidth/2;p.lineWidth=t.bars.lineWidth,p.strokeStyle=r,tt(n[0],n[1],n[2]||0,s,s+t.bars.barWidth,0,function(){return i},t.xaxis,t.yaxis,p,t.bars.horizontal,t.bars.lineWidth)}function bt(t,n,r,i){if(typeof t=="string")return t;var s=h.createLinearGradient(0,r,0,n);for(var o=0,u=t.colors.length;o<u;++o){var a=t.colors[o];if(typeof a!="string"){var f=e.color.parse(i);a.brightness!=null&&(f=f.scale("rgb",a.brightness)),a.opacity!=null&&(f.a*=a.opacity),a=f.toString()}s.addColorStop(o/(u-1),a)}return s}var u=[],a={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:!0,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:!1,radius:3,lineWidth:2,fill:!0,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:!1,fillColor:null,steps:!1},bars:{show:!1,lineWidth:2,barWidth:1,fill:!0,fillColor:null,align:"left",horizontal:!1,zero:!0},shadowSize:3,highlightColor:null},grid:{show:!0,aboveData:!1,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:!1,hoverable:!1,autoHighlight:!0,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},f=null,l=null,c=null,h=null,p=null,d=[],v=[],m={left:0,right:0,top:0,bottom
-:0},g=0,y=0,b={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},w=this;w.setData=T,w.setupGrid=R,w.draw=V,w.getPlaceholder=function(){return t},w.getCanvas=function(){return f.element},w.getPlotOffset=function(){return m},w.width=function(){return g},w.height=function(){return y},w.offset=function(){var e=c.offset();return e.left+=m.left,e.top+=m.top,e},w.getData=function(){return u},w.getAxes=function(){var t={},n;return e.each(d.concat(v),function(e,n){n&&(t[n.direction+(n.n!=1?n.n:"")+"axis"]=n)}),t},w.getXAxes=function(){return d},w.getYAxes=function(){return v},w.c2p=L,w.p2c=A,w.getOptions=function(){return a},w.highlight=dt,w.unhighlight=vt,w.triggerRedrawOverlay=ht,w.pointOffset=function(e){return{left:parseInt(d[C(e,"x")-1].p2c(+e.x)+m.left,10),top:parseInt(v[C(e,"y")-1].p2c(+e.y)+m.top,10)}},w.shutdown=H,w.resize=function(){var e=t.width(),n=t.height();f.resize(e,n),l.resize(e,n)},w.hooks=b,S(w),x(s),D(),T(r),R(),V(),P();var st=[],ot=null}function i(e,t){return t*Math.floor(e/t)}var t=Object.prototype.hasOwnProperty;n.prototype.resize=function(e,t){if(e<=0||t<=0)throw new Error("Invalid dimensions for plot, width = "+e+", height = "+t);var n=this.element,r=this.context,i=this.pixelRatio;this.width!=e&&(n.width=e*i,n.style.width=e+"px",this.width=e),this.height!=t&&(n.height=t*i,n.style.height=t+"px",this.height=t),r.restore(),r.save(),r.scale(i,i)},n.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)},n.prototype.render=function(){var e=this._textCache;for(var n in e)if(t.call(e,n)){var r=this.getTextLayer(n),i=e[n];r.hide();for(var s in i)if(t.call(i,s)){var o=i[s];for(var u in o)if(t.call(o,u)){var a=o[u].positions;for(var f=0,l;l=a[f];f++)l.active?l.rendered||(r.append(l.element),l.rendered=!0):(a.splice(f--,1),l.rendered&&l.element.detach());a.length==0&&delete o[u]}}r.show()}},n.prototype.getTextLayer=function(t){var n=this.text[t];return n==null&&(this.textContainer==null&&(this.textContainer=e("<div class='flot-text'></div>").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)),n=this.text[t]=e("<div></div>").addClass(t).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)),n},n.prototype.getTextInfo=function(t,n,r,i,s){var o,u,a,f;n=""+n,typeof r=="object"?o=r.style+" "+r.variant+" "+r.weight+" "+r.size+"px/"+r.lineHeight+"px "+r.family:o=r,u=this._textCache[t],u==null&&(u=this._textCache[t]={}),a=u[o],a==null&&(a=u[o]={}),f=a[n];if(f==null){var l=e("<div></div>").html(n).css({position:"absolute","max-width":s,top:-9999}).appendTo(this.getTextLayer(t));typeof r=="object"?l.css({font:o,color:r.color}):typeof r=="string"&&l.addClass(r),f=a[n]={width:l.outerWidth(!0),height:l.outerHeight(!0),element:l,positions:[]},l.detach()}return f},n.prototype.addText=function(e,t,n,r,i,s,o,u,a){var f=this.getTextInfo(e,r,i,s,o),l=f.positions;u=="center"?t-=f.width/2:u=="right"&&(t-=f.width),a=="middle"?n-=f.height/2:a=="bottom"&&(n-=f.height);for(var c=0,h;h=l[c];c++)if(h.x==t&&h.y==n){h.active=!0;return}h={active:!0,rendered:!1,element:l.length?f.element.clone():f.element,x:t,y:n},l.push(h),h.element.css({top:Math.round(n),left:Math.round(t),"text-align":u})},n.prototype.removeText=function(e,n,r,i,s,o){if(i==null){var u=this._textCache[e];if(u!=null)for(var a in u)if(t.call(u,a)){var f=u[a];for(var l in f)if(t.call(f,l)){var c=f[l].positions;for(var h=0,p;p=c[h];h++)p.active=!1}}}else{var c=this.getTextInfo(e,i,s,o).positions;for(var h=0,p;p=c[h];h++)p.x==n&&p.y==r&&(p.active=!1)}},e.plot=function(t,n,i){var s=new r(e(t),n,i,e.plot.plugins);return s},e.plot.version="0.8.1",e.plot.plugins=[],e.fn.plot=function(t,n){return this.each(function(){e.plot(this,t,n)})}}(jQuery); \ No newline at end of file
diff --git a/public/robots.txt b/public/robots.txt
index 279573d31..969e10826 100644
--- a/public/robots.txt
+++ b/public/robots.txt
@@ -8,7 +8,10 @@
# Crawl-delay: 1
# http://www.bing.com/community/blogs/webmaster/archive/2009/08/10/crawl-delay-and-the-bing-crawler-msnbot.aspx
-# This file uses the non-standard extension characters * and $, which are supported by Google and Yahoo!
+# This file uses the non-standard extension characters * and $, which
+# are supported by Google and Yahoo! and the 'Allow' directive, which
+# is supported by Google.
+
# http://code.google.com/web/controlcrawlindex/docs/robots_txt.html
# http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html
@@ -23,6 +26,7 @@ Disallow: */user/contact/
Disallow: */feed/
Disallow: */profile/
Disallow: */signin
+Allow: */request/*/response/*/attach/*
Disallow: */request/*/response/
Disallow: */body/*/view_email$
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
deleted file mode 100755
index 5b5dab2ab..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.png
deleted file mode 100755
index 062f58072..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.png
deleted file mode 100755
index ac8b229af..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.png
deleted file mode 100755
index 5473afffb..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.png
deleted file mode 100755
index 7b7b0744d..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.png
deleted file mode 100755
index 5b4ca1a03..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.png
deleted file mode 100755
index ac8b229af..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png b/public/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png
deleted file mode 100755
index 0e05810ff..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_222222_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_222222_256x240.png
deleted file mode 100755
index b273ff111..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_222222_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.png
deleted file mode 100755
index 09d1cdc85..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_454545_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_454545_256x240.png
deleted file mode 100755
index 59bd45b90..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_454545_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_888888_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_888888_256x240.png
deleted file mode 100755
index 6d02426c1..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_888888_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.png
deleted file mode 100755
index 2ab019b73..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/fonts.css b/public/stylesheets/fonts.css
deleted file mode 100644
index f63b4b1f8..000000000
--- a/public/stylesheets/fonts.css
+++ /dev/null
@@ -1,73 +0,0 @@
-
-@font-face {
- font-family: 'DeliciousBold';
- src: url('./fonts/delicious-bold-webfont.eot');
- src: url('./fonts/delicious-bold-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-bold-webfont.woff') format('woff'),
- url('./fonts/delicious-bold-webfont.ttf') format('truetype'),
- url('./fonts/delicious-bold-webfont.svg#DeliciousBold') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousBoldItalic';
- src: url('./fonts/delicious-bolditalic-webfont.eot');
- src: url('./fonts/delicious-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-bolditalic-webfont.woff') format('woff'),
- url('./fonts/delicious-bolditalic-webfont.ttf') format('truetype'),
- url('./fonts/delicious-bolditalic-webfont.svg#DeliciousBoldItalic') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousHeavyRegular';
- src: url('./fonts/delicious-heavy-webfont.eot');
- src: url('./fonts/delicious-heavy-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-heavy-webfont.woff') format('woff'),
- url('./fonts/delicious-heavy-webfont.ttf') format('truetype'),
- url('./fonts/delicious-heavy-webfont.svg#DeliciousHeavyRegular') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousItalic';
- src: url('./fonts/delicious-italic-webfont.eot');
- src: url('./fonts/delicious-italic-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-italic-webfont.woff') format('woff'),
- url('./fonts/delicious-italic-webfont.ttf') format('truetype'),
- url('./fonts/delicious-italic-webfont.svg#DeliciousItalic') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousRoman';
- src: url('./fonts/delicious-roman-webfont.eot');
- src: url('./fonts/delicious-roman-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-roman-webfont.woff') format('woff'),
- url('./fonts/delicious-roman-webfont.ttf') format('truetype'),
- url('./fonts/delicious-roman-webfont.svg#DeliciousRoman') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousSmallCapsRegular';
- src: url('./fonts/delicious-smallcaps-webfont.eot');
- src: url('./fonts/delicious-smallcaps-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-smallcaps-webfont.woff') format('woff'),
- url('./fonts/delicious-smallcaps-webfont.ttf') format('truetype'),
- url('./fonts/delicious-smallcaps-webfont.svg#DeliciousSmallCapsRegular') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
diff --git a/script/compact-xapian-database b/script/compact-xapian-database
index f1a6058b0..982c0e878 100755
--- a/script/compact-xapian-database
+++ b/script/compact-xapian-database
@@ -4,7 +4,7 @@ export RAILS_ENV=$1
set -e
if [ -x /usr/bin/xapian-compact ]; then
- XAPIAN_DB_DIR=$( cd "$( dirname "$0" )" && pwd )/../vendor/plugins/acts_as_xapian/xapiandbs
+ XAPIAN_DB_DIR=$( cd "$( dirname "$0" )" && pwd )/../lib/acts_as_xapian/xapiandbs
if [ -e "$XAPIAN_DB_DIR/$RAILS_ENV.new" ]; then
echo >&2 "Didn't compact Xapian database because there was an existing database at $XAPIAN_DB_DIR/$RAILS_ENV.new"
exit 1
diff --git a/script/handle-mail-replies.rb b/script/handle-mail-replies.rb
index da0fc8e96..cbff03acb 100755
--- a/script/handle-mail-replies.rb
+++ b/script/handle-mail-replies.rb
@@ -20,6 +20,9 @@ $:.push(File.join($alaveteli_dir, "lib", "mail_handler"))
load 'configuration.rb'
MySociety::Config.set_file(File.join($alaveteli_dir, 'config', 'general'), true)
MySociety::Config.load_default
+
+
+require 'active_support/all'
require 'mail_handler'
if RUBY_VERSION.to_f >= 1.9
# the default encoding for IO is utf-8, and we use utf-8 internally
diff --git a/script/rails-post-deploy b/script/rails-post-deploy
index c09868347..a88e28b19 100755
--- a/script/rails-post-deploy
+++ b/script/rails-post-deploy
@@ -96,3 +96,8 @@ bundle exec rake submodules:check
bundle exec rake db:migrate #--trace
bundle exec rake themes:install
+
+if [ "$OPTION_STAGING_SITE" = "0" ]
+then
+ bundle exec rake assets:precompile
+fi
diff --git a/script/switch-theme.rb b/script/switch-theme.rb
new file mode 100755
index 000000000..980853687
--- /dev/null
+++ b/script/switch-theme.rb
@@ -0,0 +1,133 @@
+#!/usr/bin/env ruby
+# -*- coding: utf-8 -*-
+
+# A simple script to swap around your Alaveteli themes when you're
+# hacking on Alaveteli. By default this assumes that you have an
+# 'alaveteli-themes' directory at the same level as your alaveteli git
+# repository, e.g.:
+#
+# alaveteli
+# ├── app
+# ├── cache
+# ...
+# └── vendor
+# alaveteli-themes/
+# ├── alavetelitheme
+# ├── asktheeu-theme
+# ├── chiediamo-theme
+# ├── ipvtheme
+# ├── queremossabertheme
+# ├── tuderechoasaber-theme
+# ├── whatdotheyknow-theme
+# └── yourrighttoknow
+#
+# However, you can override the location of your themes directory with
+# the environment variable ALAVETELI_THEMES_DIR.
+#
+# You need to have a corresponding general.yml file called, for example:
+#
+# config/general-whatdotheyknow-theme.yml
+# config/general-yourrighttoknow.yml
+
+require 'tempfile'
+
+$no_theme_name = 'none'
+theme_directory = ENV['ALAVETELI_THEMES_DIR']
+alaveteli_directory = File.expand_path(File.join(File.dirname(__FILE__),
+ ".."))
+unless theme_directory
+ theme_directory = File.expand_path File.join(alaveteli_directory,
+ '..',
+ 'alaveteli-themes')
+end
+
+unless File.exists? theme_directory
+ STDERR.puts "The theme directory '#{theme_directory}' didn't exist."
+ exit 1
+end
+
+# Assume that any directory directly under theme_directory is a theme:
+$available_themes = Dir.entries(theme_directory).find_all do |local_theme_name|
+ next if [".", ".."].index local_theme_name
+ next unless local_theme_name
+ full_path = File.join theme_directory, local_theme_name
+ next unless File.directory? full_path
+ next unless File.directory? File.join(full_path, '.git')
+ local_theme_name
+end.sort
+
+$available_themes.unshift $no_theme_name
+
+if $available_themes.empty?
+ STDERR.puts "There were no theme directories found in '#{theme_directory}'"
+ exit
+end
+
+def usage_and_exit
+ STDERR.puts "Usage: #{$0} <THEME-NAME>"
+ $available_themes.each do |theme_name|
+ STDERR.puts " #{theme_name}"
+ end
+ exit 1
+end
+
+usage_and_exit unless ARGV.length == 1
+requested_theme = ARGV[0]
+usage_and_exit unless $available_themes.include? requested_theme
+
+full_theme_path = File.join theme_directory, requested_theme
+
+config_directory = File.join alaveteli_directory, 'config'
+general_filename = File.join config_directory, "general.yml"
+theme_filename = File.join config_directory, "general-#{requested_theme}.yml"
+
+if File.exists?(general_filename) && ! (File.symlink? general_filename)
+ STDERR.puts "'#{general_filename}' exists, but isn't a symlink"
+ exit 1
+end
+
+unless File.exists? theme_filename
+ STDERR.puts "'#{theme_filename}' didn't exist"
+ exit 1
+end
+
+def symlink target, link_directory, link_name
+ tmp = Tempfile.new link_name, link_directory
+ if system("ln", "-sfn", target, tmp.path)
+ full_link_name = File.join(link_directory, link_name)
+ begin
+ File.rename tmp.path, full_link_name
+ rescue Errno::EISDIR
+ STDERR.puts "Couldn't overwrite #{full_link_name} since it's a directory"
+ exit 1
+ end
+ else
+ STDERR.puts "Failed to create a symlink from #{tmp.path} to #{target}"
+ exit 1
+ end
+end
+
+symlink(File.basename(theme_filename),
+ config_directory,
+ "general.yml")
+
+public_directory = File.join(alaveteli_directory, 'public')
+
+if requested_theme == $no_theme_name
+ File.unlink File.join(public_directory, 'alavetelitheme')
+else
+ symlink(File.join(full_theme_path, 'public'),
+ public_directory,
+ 'alavetelitheme')
+
+ symlink(full_theme_path,
+ File.join(alaveteli_directory, 'lib', 'themes'),
+ requested_theme)
+end
+
+STDERR.puts """Switched to #{requested_theme}!
+You will need to:
+ 1. restart any development server you have running.
+ 2. run: bundle exec rake assets:clean
+ 3. run: bundle exec rake assets:precompile
+"""
diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb
index 8c86ad0be..7590a5b42 100644
--- a/spec/controllers/general_controller_spec.rb
+++ b/spec/controllers/general_controller_spec.rb
@@ -42,6 +42,17 @@ describe GeneralController, 'when getting the blog feed' do
assigns[:blog_items].count.should == 1
end
+ context 'if no feed is configured' do
+
+ before do
+ AlaveteliConfiguration.stub!(:blog_feed).and_return('')
+ end
+
+ it 'should raise an ActiveRecord::RecordNotFound error' do
+ lambda{ get :blog }.should raise_error(ActiveRecord::RecordNotFound)
+ end
+ end
+
end
describe GeneralController, "when showing the frontpage" do
@@ -73,11 +84,10 @@ describe GeneralController, "when showing the frontpage" do
end
it "should render the front page with default language" do
- old_default_locale = I18n.default_locale
- I18n.default_locale = "es"
- get :frontpage
- response.should have_selector('html[lang="es"]')
- I18n.default_locale = old_default_locale
+ with_default_locale("es") do
+ get :frontpage
+ response.should have_selector('html[lang="es"]')
+ end
end
it "should render the front page with default language and ignore the browser setting" do
@@ -85,11 +95,10 @@ describe GeneralController, "when showing the frontpage" do
config['USE_DEFAULT_BROWSER_LANGUAGE'] = false
accept_language = "en-GB,en-US;q=0.8,en;q=0.6"
request.env['HTTP_ACCEPT_LANGUAGE'] = accept_language
- old_default_locale = I18n.default_locale
- I18n.default_locale = "es"
- get :frontpage
- response.should have_selector('html[lang="es"]')
- I18n.default_locale = old_default_locale
+ with_default_locale("es") do
+ get :frontpage
+ response.should have_selector('html[lang="es"]')
+ end
end
it "should render the front page with browser-selected language when there's no default set" do
@@ -118,49 +127,7 @@ describe GeneralController, "when showing the frontpage" do
end
end
-describe GeneralController, "when showing the front page with fixture data" do
-
- describe 'when constructing the list of recent requests' do
- before(:each) do
- get_fixtures_xapian_index
- end
-
- describe 'when there are fewer than five successful requests' do
-
- it 'should list the most recently sent and successful requests by the creation date of the
- request event' do
- # Make sure the newest response is listed first even if a request
- # with an older response has a newer comment or was reclassified more recently:
- # https://github.com/mysociety/alaveteli/issues/370
- #
- # This is a deliberate behaviour change, in that the
- # previous behaviour (showing more-recently-reclassified
- # requests first) was intentional.
- get :frontpage
-
- request_events = assigns[:request_events]
- previous = nil
- request_events.each do |event|
- if previous
- previous.created_at.should be >= event.created_at
- end
- ['sent', 'response'].include?(event.event_type).should be_true
- if event.event_type == 'response'
- ['successful', 'partially_successful'].include?(event.calculated_state).should be_true
- end
- previous = event
- end
- end
- end
-
- it 'should coalesce duplicate requests' do
- get :frontpage
- assigns[:request_events].map(&:info_request).select{|x|x.url_title =~ /^spam/}.length.should == 1
- end
- end
-
-end
describe GeneralController, 'when using xapian search' do
@@ -219,6 +186,17 @@ describe GeneralController, 'when using xapian search' do
assigns[:xapian_bodies].should == nil
end
+ it 'should highlight words for a user-only request' do
+ get :search, :combined => "bob/users"
+ assigns[:highlight_words].should == ['bob']
+ end
+
+ it 'should show spelling corrections for a user-only request' do
+ get :search, :combined => "rob/users"
+ assigns[:spelling_correction].should == 'bob'
+ response.body.should include('did_you_mean')
+ end
+
it "should filter results based on end of URL being 'requests'" do
get :search, :combined => "bob/requests"
assigns[:xapian_requests].results.map{|x|x[:model]}.should =~ [
@@ -238,6 +216,11 @@ describe GeneralController, 'when using xapian search' do
assigns[:xapian_bodies].results.map{|x|x[:model]}.should == [public_bodies(:geraldine_public_body)]
end
+ it 'should show "Browse all" link if there are no results for a search restricted to bodies' do
+ get :search, :combined => "noresultsshouldbefound/bodies"
+ response.body.should include('Browse all')
+ end
+
it "should show help when searching for nothing" do
get :search_redirect, :query => nil
response.should render_template('search')
diff --git a/spec/controllers/public_body_controller_spec.rb b/spec/controllers/public_body_controller_spec.rb
index 025ebfdba..63989baaa 100644
--- a/spec/controllers/public_body_controller_spec.rb
+++ b/spec/controllers/public_body_controller_spec.rb
@@ -82,21 +82,23 @@ describe PublicBodyController, "when listing bodies" do
def make_single_language_example(locale)
result = nil
- I18n.with_locale(locale) do
- case locale
- when :en
- result = PublicBody.new(:name => 'English only',
- :short_name => 'EO')
- when :es
- result = PublicBody.new(:name => 'Español Solamente',
- :short_name => 'ES')
- else
- raise StandardError.new "Unknown locale #{locale}"
+ with_default_locale(locale) do
+ I18n.with_locale(locale) do
+ case locale
+ when :en
+ result = PublicBody.new(:name => 'English only',
+ :short_name => 'EO')
+ when :es
+ result = PublicBody.new(:name => 'Español Solamente',
+ :short_name => 'ES')
+ else
+ raise StandardError.new "Unknown locale #{locale}"
+ end
+ result.request_email = "#{locale}@example.org"
+ result.last_edit_editor = 'test'
+ result.last_edit_comment = ''
+ result.save
end
- result.request_email = "#{locale}@example.org"
- result.last_edit_editor = 'test'
- result.last_edit_comment = ''
- result.save
end
result
end
@@ -188,13 +190,13 @@ describe PublicBodyController, "when listing bodies" do
end
it "should list bodies in alphabetical order with different locale" do
- I18n.default_locale = :es
- get :list
- response.should render_template('list')
- assigns[:public_bodies].should == [ public_bodies(:geraldine_public_body), public_bodies(:humpadink_public_body) ]
- assigns[:tag].should == "all"
- assigns[:description].should == ""
- I18n.default_locale = :en
+ with_default_locale(:es) do
+ get :list
+ response.should render_template('list')
+ assigns[:public_bodies].should == [ public_bodies(:geraldine_public_body), public_bodies(:humpadink_public_body) ]
+ assigns[:tag].should == "all"
+ assigns[:description].should == ""
+ end
end
it "should list a tagged thing on the appropriate list page, and others on the other page, and all still on the all page" do
@@ -273,41 +275,142 @@ describe PublicBodyController, "when showing JSON version for API" do
end
+describe PublicBodyController, "when asked to export public bodies as CSV" do
+
+ it "should return a valid CSV file with the right number of rows" do
+ get :list_all_csv
+ all_data = CSV.parse response.body
+ all_data.length.should == 8
+ # Check that the header has the right number of columns:
+ all_data[0].length.should == 11
+ # And an actual line of data:
+ all_data[1].length.should == 11
+ end
+
+end
+
describe PublicBodyController, "when showing public body statistics" do
- it "should render the right template with the right data" do
- config = MySociety::Config.load_default()
- config['MINIMUM_REQUESTS_FOR_STATISTICS'] = 1
- config['PUBLIC_BODY_STATISTICS_PAGE'] = true
- get :statistics
- response.should render_template('public_body/statistics')
- # There are 5 different graphs we're creating at the moment.
- assigns[:graph_list].length.should == 5
- # The first is the only one with raw values, the rest are
- # percentages with error bars:
- assigns[:graph_list].each_with_index do |graph, index|
- if index == 0
- graph['errorbars'].should be_false
- graph['x_values'].length.should == 4
- graph['x_values'].should == [0, 1, 2, 3]
- graph['y_values'].should == [1, 2, 2, 4]
- else
- graph['errorbars'].should be_true
- # Just check the first one:
- if index == 1
- graph['x_values'].should == [0, 1, 2, 3]
- graph['y_values'].should == [0, 50, 100, 100]
+ it "should render the right template with the right data" do
+ config = MySociety::Config.load_default()
+ config['MINIMUM_REQUESTS_FOR_STATISTICS'] = 1
+ config['PUBLIC_BODY_STATISTICS_PAGE'] = true
+ get :statistics
+ response.should render_template('public_body/statistics')
+ # There are 5 different graphs we're creating at the moment.
+ assigns[:graph_list].length.should == 5
+ # The first is the only one with raw values, the rest are
+ # percentages with error bars:
+ assigns[:graph_list].each_with_index do |graph, index|
+ if index == 0
+ graph['errorbars'].should be_false
+ graph['x_values'].length.should == 4
+ graph['x_values'].should == [0, 1, 2, 3]
+ graph['y_values'].should == [1, 2, 2, 4]
+ else
+ graph['errorbars'].should be_true
+ # Just check the first one:
+ if index == 1
+ graph['x_values'].should == [0, 1, 2, 3]
+ graph['y_values'].should == [0, 50, 100, 100]
+ end
+ # Check that at least every confidence interval value is
+ # a Float (rather than NilClass, say):
+ graph['cis_below'].each { |v| v.should be_instance_of(Float) }
+ graph['cis_above'].each { |v| v.should be_instance_of(Float) }
+ end
end
- # Check that at least every confidence interval value is
- # a Float (rather than NilClass, say):
- graph['cis_below'].each { |v| v.should be_instance_of(Float) }
- graph['cis_above'].each { |v| v.should be_instance_of(Float) }
- end
end
- end
end
+describe PublicBodyController, "when converting data for graphing" do
+
+ before(:each) do
+ @raw_count_data = PublicBody.get_request_totals(n=3,
+ highest=true,
+ minimum_requests=1)
+ @percentages_data = PublicBody.get_request_percentages(
+ column='info_requests_successful_count',
+ n=3,
+ highest=false,
+ minimum_requests=1)
+ end
+
+ it "should not include the real public body model instance" do
+ to_draw = controller.simplify_stats_for_graphs(@raw_count_data,
+ column='blah_blah',
+ percentages=false,
+ {} )
+ to_draw['public_bodies'][0].class.should == Hash
+ to_draw['public_bodies'][0].has_key?('request_email').should be_false
+ end
+
+ it "should generate the expected id" do
+ to_draw = controller.simplify_stats_for_graphs(@raw_count_data,
+ column='blah_blah',
+ percentages=false,
+ {:highest => true} )
+ to_draw['id'].should == "blah_blah-highest"
+ to_draw = controller.simplify_stats_for_graphs(@raw_count_data,
+ column='blah_blah',
+ percentages=false,
+ {:highest => false} )
+ to_draw['id'].should == "blah_blah-lowest"
+ end
+
+ it "should have exactly the expected keys" do
+ to_draw = controller.simplify_stats_for_graphs(@raw_count_data,
+ column='blah_blah',
+ percentages=false,
+ {} )
+ to_draw.keys.sort.should == ["errorbars", "id", "public_bodies",
+ "title", "tooltips", "totals",
+ "x_axis", "x_ticks", "x_values",
+ "y_axis", "y_max", "y_values"]
+
+ to_draw = controller.simplify_stats_for_graphs(@percentages_data,
+ column='whatever',
+ percentages=true,
+ {})
+ to_draw.keys.sort.should == ["cis_above", "cis_below",
+ "errorbars", "id", "public_bodies",
+ "title", "tooltips", "totals",
+ "x_axis", "x_ticks", "x_values",
+ "y_axis", "y_max", "y_values"]
+ end
+
+ it "should have values of the expected class and length" do
+ [controller.simplify_stats_for_graphs(@raw_count_data,
+ column='blah_blah',
+ percentages=false,
+ {}),
+ controller.simplify_stats_for_graphs(@percentages_data,
+ column='whatever',
+ percentages=true,
+ {})].each do |to_draw|
+ per_pb_keys = ["cis_above", "cis_below", "public_bodies",
+ "tooltips", "totals", "x_ticks", "x_values",
+ "y_values"]
+ # These should be all be arrays with one element per public body:
+ per_pb_keys.each do |key|
+ if to_draw.has_key? key
+ to_draw[key].class.should == Array
+ to_draw[key].length.should eq(3), "for key #{key}"
+ end
+ end
+ # Just check that the rest aren't of class Array:
+ to_draw.keys.each do |key|
+ unless per_pb_keys.include? key
+ to_draw[key].class.should_not eq(Array), "for key #{key}"
+ end
+ end
+ end
+ end
+
+end
+
+
describe PublicBodyController, "when doing type ahead searches" do
render_views
diff --git a/spec/controllers/track_controller_spec.rb b/spec/controllers/track_controller_spec.rb
index a16024828..57d084f6b 100644
--- a/spec/controllers/track_controller_spec.rb
+++ b/spec/controllers/track_controller_spec.rb
@@ -55,6 +55,39 @@ describe TrackController, "when making a new track on a request" do
end
+describe TrackController, "when unsubscribing from a track" do
+
+ before do
+ @track_thing = FactoryGirl.create(:track_thing)
+ end
+
+ it 'should destroy the track thing' do
+ get :update, {:track_id => @track_thing.id,
+ :track_medium => 'delete',
+ :r => 'http://example.com'},
+ {:user_id => @track_thing.tracking_user.id}
+ TrackThing.find(:first, :conditions => ['id = ? ', @track_thing.id]).should == nil
+ end
+
+ it 'should redirect to a URL on the site' do
+ get :update, {:track_id => @track_thing.id,
+ :track_medium => 'delete',
+ :r => '/'},
+ {:user_id => @track_thing.tracking_user.id}
+ response.should redirect_to('/')
+ end
+
+ it 'should not redirect to a url on another site' do
+ track_thing = FactoryGirl.create(:track_thing)
+ get :update, {:track_id => @track_thing.id,
+ :track_medium => 'delete',
+ :r => 'http://example.com/'},
+ {:user_id => @track_thing.tracking_user.id}
+ response.should redirect_to('/')
+ end
+
+end
+
describe TrackController, "when sending alerts for a track" do
render_views
diff --git a/spec/factories.rb b/spec/factories.rb
index 653525920..7d8f94ac1 100644
--- a/spec/factories.rb
+++ b/spec/factories.rb
@@ -137,4 +137,11 @@ FactoryGirl.define do
last_edit_comment "Making an edit"
end
+ factory :track_thing do
+ association :tracking_user, :factory => :user
+ track_medium 'email_daily'
+ track_type 'search_query'
+ track_query 'Example Query'
+ end
+
end
diff --git a/spec/fixtures/files/document-pdf.email b/spec/fixtures/files/document-pdf.email
new file mode 100644
index 000000000..f4fc6f0fe
--- /dev/null
+++ b/spec/fixtures/files/document-pdf.email
@@ -0,0 +1,110 @@
+From authority@example.org Tue Dec 3 11:13:02 2013
+Return-path: <authority@example.org>
+Envelope-to: requester@example.org
+Delivery-date: Tue, 03 Dec 2013 11:13:00 +0000
+From: Test Authority <authority@example.org>
+To: requester@example.org
+Subject: testing a PDF attachment with the wrong content-type
+Date: Tue, 03 Dec 2013 11:12:45 +0000
+Message-ID: <87li09xuasdfasdfpoija@blahblah>
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="=-=-="
+
+--=-=-=
+Content-Type: text/plain
+
+Here's a PDF attachement which has a document/pdf content-type,
+when it really should be application/pdf.
+
+
+--=-=-=
+Content-Type: application/pdf
+Content-Disposition: attachment; filename=tiny-example.pdf
+Content-Transfer-Encoding: base64
+Content-Description: a very small example PDF
+
+JVBERi0xLjUKJbXtrvsKMyAwIG9iago8PCAvTGVuZ3RoIDQgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRl
+RGVjb2RlCj4+CnN0cmVhbQp4nCvkMlAAwaJ0Bf1EA4X0Yi6nEC5DA1M9IwNLYzNjsBwS18hIz9TI
+0tBSwdzIQs/Y3MLAzEQhJJdLP03XQBeoUCEkjStawyM1JydfUTM2xIvLNYQrkAsAJG8VmQplbmRz
+dHJlYW0KZW5kb2JqCjQgMCBvYmoKICAgOTIKZW5kb2JqCjIgMCBvYmoKPDwKICAgL0V4dEdTdGF0
+ZSA8PAogICAgICAvYTAgPDwgL0NBIDEgL2NhIDEgPj4KICAgPj4KICAgL0ZvbnQgPDwKICAgICAg
+L2YtMC0wIDUgMCBSCiAgID4+Cj4+CmVuZG9iago2IDAgb2JqCjw8IC9UeXBlIC9QYWdlCiAgIC9Q
+YXJlbnQgMSAwIFIKICAgL01lZGlhQm94IFsgMCAwIDU5NS4yNzU1NzQgODQxLjg4OTc3MSBdCiAg
+IC9Db250ZW50cyAzIDAgUgogICAvR3JvdXAgPDwKICAgICAgL1R5cGUgL0dyb3VwCiAgICAgIC9T
+IC9UcmFuc3BhcmVuY3kKICAgICAgL0kgdHJ1ZQogICAgICAvQ1MgL0RldmljZVJHQgogICA+Pgog
+ICAvUmVzb3VyY2VzIDIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8IC9MZW5ndGggOCAwIFIKICAg
+L0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL0xlbmd0aDEgMzcxNgo+PgpzdHJlYW0KeJzlVnt0lMUV
+v/P9vtndZB/5drMbiUlww7ookJCQECCAzYJBBSrlETXYxgayxIjQJAQVTOOCFAREgwKLAtIUkSpE
+mlIkG2OtVN4xrZXH8Y0gFGkjRouoa5j0btCe0/boOW3/6OnpzM58cx9z5/7ud+fuR4KI4mkBgbxl
+s6dVvXnmiTlECBJpt5bdPddLd6TlE8mXiIQqr7p9dvXgu2cSmZmmbbfPml9etrfAzOtG1o9UzJgW
+7O56fQSRZRbzhlQwwxYx3cL0ZqavrJg9d97lhs76lgNM95pVWTaNKM7N9HtMp86eNq9KrzFVM93F
+tLdqzoyqEeaPeRmXyj5UkEblKqyXy83srZkuD9j0L8n0pbDIkKZT1p4jHYPIONJxpCM70Znu9Kc7
+08t16qpBStdpFTY7Pv9kjqkfCTrItkbIo2SljIDbskZ7VqeF8SYzUuWwOJFKus3o6sjh3yDKGnmK
+F9k7JtqFKEnMZaO5Th/PvoOHtHcPHbrY55A8enGDFowO0PZf5DBpVN39vh7Sa8lNKVQVuJI8Im6J
+Zan0PCNki0209mpxRWwrUlM8msVjofGaK2FMKp92vmOP05XPzp8633HKOMf9/DlmZAf6FaRVpTWk
+vZrWmSYLqEAUaAWeghSZYc6yZMVlxFdSpajUKj2VKXEl1aJEeNJ7i9ycIUM9DuHzktOg3BwyDxS+
+PiazHuraYWtvnrl/etmrd6rzar/o13VSmCPaU0vXtTi02259cf/gwdv7Z4hhIl4kimvVO3vW7ty+
+kV877eZpvsnNMe/TTGs1YaHrdHaaw9ORHbAbMiAnylJZJTulqSdKvt2RiMn9RcfX8biL42Gly2hc
+INHU4qIWW8S1olecK2ESXJ4xvXrgX4JunMsO+AqSa6nWFDKHLKG4UHzIWmsL2UOOUELICDlrXQ3J
+nclORtrH5HEnMdS8wX2vyokh9fWJzVrN6sZta1Y1Nq7qFC51rvNj9ZFw4viZgwfPfHBg/9kN6oDq
+UB8y+HzG6BbDOLU0kRdzlPMBFEd5gQQzLdIXahazFND5ahhd45usRcUtRN0vDZs6siMnn19U1qmu
+V7LFLrJ6rROtKPHnenycGvBB5LW1tbk3eZTizKhW68UM6mmCrcdumo10bQI/e5PBHAeFqFtMEdPE
+PHGfeFTbp73t7evN9g73Nqb36e6O3QFqEJNFKcvrvpInsjz/b/JvboLPeFusExvERu4NX/V93A+I
+Az0a8lv3/6tN/Ns7tb+j0DPr/5Ev/0eNszdCbdx301baILYwVc7sauY0aDtoMd3FnJdFm1imZTJv
+C3XSYdZ8gNqwVScxjnKZS/SG1Oi8KKKdbCOfb0a+2aSTPkHfqU/WI/oZvZ2G6jV6u16q14hcbJI3
+yy088rFXc3E9vYIi4jjV0PM4i1y8oBfqDjqOdmyl03xK7F22UT1tplr2xS0qKaTVapOZs1+20zru
+lSxv5yw9zN49LxbRUXoMunYDbRRHGVcbXaBFKNJCnBy5Wjn7v59ttfP+dVSj880V8aS0Acxj7/ms
+6T1zGjLl0Z7eybeslopos4nLktnHp8QitkW8LDpMq6iBDuMHqMZbYrHu05/Wb6D6SxFAKdWz7XWx
+PaZyMZ+xx3ptzLp2j14qttJZvdQ8nW3vjSHiM3dqkxlROb3A4x6TwZhGiMVYxp7GpGnUbh6nZ/F+
+tmCuY9RElcijmbyqpe20gzIRpnq21IPXNFRe4J0b9BOMuV48pF2gdhRSPyrXz3Gs+S+GwkTNZpPU
+oQnK8BpNmn9ssCkwqdh7YGp6ZsY/kF7D7G2iiU32+d5Id/fEYj1FTm2SqU3wW5p0v+/ENwlPZGaM
+n1jsbbo4pvArq2NKC5k3pZiXMYrZzB9T2COLHdok/fwbW9rkLavwLjeW+4YvN2YMz7xUI7Sie2dN
+WLj6hwkjP6UrLD053L47tfTr52fHurbb58TdxGRMeKmq8GyerdKI7Cc/OxadZJ/zT9XGxBlazil7
+UO+gai2fduunqRp5sdre0wp5NLChuTyaYk7Evld6rJhQRAOogiuzxjX58dipukdL4qce0RYEur9U
+iLrxhR+f5+CzMC448KnCeYW/+PGJAx+H0enHR8tHyY8UzoXxYRgdUfw5ij8pnB2OD0bjjMIfc3D6
+1BR5OoxTrHhqCt4/mSXfj+JkFk4ovKdwPAfvuvFOGG8rvOXCm3V4oxWvKxxj9WN1OHrkenm0Dkeu
+x+HXUuRhhddS8AeFVxV+r/A7hfYwXmnrLV9RaOuNQzk4qLBvsVPuS8XeJOxReFnhtwq7FV5S+I3C
+iwq/VnhBoVXheSdalvhli0KkuVVGFJp3lcjmVjQv0Hc955e7SgLd2BXQn/Njp8Kvwtih8EuFJoVf
+KGwP4lkHGrf5ZWMQ27a65DY/trrwDDv9TBRPK/xcYYvCUy5sVnhyk0M+mYNNDvwsiAZWaQjjpwob
+n7DJjQpP2LBhfbLcEMT6dYZcn4x1Bh6Px2MKa8N2uVYhbMca3rQmjNWrHHL11VjlwKNRPLKyVT6i
+sLK+RK5sxcoFev3DfllfgvqA/rAfDymseHCgXKHw4EAsZ5jLR2HZUqtc5sZSKx5gxgNBLOFILfFj
+sRM/UVh0v1MuUrjfiYUKCxRCCoHu++rq5H0KdXX4cRC1RR5Z68e9CvMV5jlwjw13x+MuhblR1EQx
+J4rqKKoUKhV+pDArHXcqzHSOljOn4A6FijrczkS5wgyFoEKZwnSFacNRGsVtNpQofF/hVoWpxfFy
+ahTF8bglKVnekoObFW7ik28ajSIPpghDTumFyW5MGpcoJynwN8j3FCbcaMgJCjca+K7CeJaMVxg3
+1pDjEjE2zS7HGrjBjusVrgtjTBiFCtdqmfLaKEa3YtR4BBQKFL5zjUt+x41rRibIa1wYOcIuRwa6
+EzDCjuEK+QrDhrrlsCiGDjHkUDeG5FnlEAN5VgzujVw7cgZZZY7CICuys6wy244sKwZmxsmBBjLj
+kJGDAf39ckAQ/fu5ZH8/+rlw9VV+efUoXOVHX79V9k2A34orFXwKfRKQzjjTXfAGcUUUvRlC7yDS
+7EjlCKYqpERx+WgkM5Gs0CuIyzhSlykk8aakZHgU3AqJCi5WcCk4GatzNIw6JAThULDbkqRdwcba
+tiRYFeINxClYWM2iYHbDFITOQp0zwAPmQnGVNaSWCWGAFEREBBc/JAb8LzT6bzvwrS3tr1SHeSwK
+ZW5kc3RyZWFtCmVuZG9iago4IDAgb2JqCiAgIDI0MDIKZW5kb2JqCjkgMCBvYmoKPDwgL0xlbmd0
+aCAxMCAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicXVAxbsQgEOx5xZZ3
+xQnbykUpkKXo0ri4JIqTB2BYHKQYEMaFf58FThcpBcwsuzOMll+Gl8HZBPw9ejViAmOdjrj6LSqE
+CWfrWNuBtirdqnKrRQbGSTzua8JlcMYzIYB/UHNNcYfDs/YTHhkA8LeoMVo3w+HrMtancQvhBxd0
+CRrW96DRkN1Vhle5IPAiPg2a+jbtJ5L9TXzuAaErdVsjKa9xDVJhlG5GJpqmB2FMz9Dpf71zVUxG
+fcvIxMMTTTYNAROP58IJiKvKVeamcvITXVs4Qfa+ueRf8jru8dUWIyUvOyuRc1jr8L7W4ENWlfML
+jQ547AplbmRzdHJlYW0KZW5kb2JqCjEwIDAgb2JqCiAgIDI0NgplbmRvYmoKMTEgMCBvYmoKPDwg
+L1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAgIC9Gb250TmFtZSAvUlFaWlJTK0RlamFWdVNhbnMKICAg
+L0ZvbnRGYW1pbHkgKERlamFWdSBTYW5zKQogICAvRmxhZ3MgMzIKICAgL0ZvbnRCQm94IFsgLTEw
+MjAgLTQxNSAxNjgwIDExNjYgXQogICAvSXRhbGljQW5nbGUgMAogICAvQXNjZW50IDkyOAogICAv
+RGVzY2VudCAtMjM1CiAgIC9DYXBIZWlnaHQgMTE2NgogICAvU3RlbVYgODAKICAgL1N0ZW1IIDgw
+CiAgIC9Gb250RmlsZTIgNyAwIFIKPj4KZW5kb2JqCjUgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKICAg
+L1N1YnR5cGUgL1RydWVUeXBlCiAgIC9CYXNlRm9udCAvUlFaWlJTK0RlamFWdVNhbnMKICAgL0Zp
+cnN0Q2hhciAzMgogICAvTGFzdENoYXIgMTExCiAgIC9Gb250RGVzY3JpcHRvciAxMSAwIFIKICAg
+L0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKICAgL1dpZHRocyBbIDAgNDAwIDAgMCAwIDAgMCAw
+IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
+MCAwIDAgMCA3NTEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
+IDAgMCAwIDAgMCA2MTUgMCAwIDAgMCAwIDAgMjc3IDAgMCA2MTEgXQogICAgL1RvVW5pY29kZSA5
+IDAgUgo+PgplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZXMKICAgL0tpZHMgWyA2IDAgUiBd
+CiAgIC9Db3VudCAxCj4+CmVuZG9iagoxMiAwIG9iago8PCAvQ3JlYXRvciAoY2Fpcm8gMS4xMi4x
+NiAoaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnKSkKICAgL1Byb2R1Y2VyIChjYWlybyAxLjEyLjE2
+IChodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcpKQo+PgplbmRvYmoKMTMgMCBvYmoKPDwgL1R5cGUg
+L0NhdGFsb2cKICAgL1BhZ2VzIDEgMCBSCj4+CmVuZG9iagp4cmVmCjAgMTQKMDAwMDAwMDAwMCA2
+NTUzNSBmIAowMDAwMDA0MDYyIDAwMDAwIG4gCjAwMDAwMDAyMDUgMDAwMDAgbiAKMDAwMDAwMDAx
+NSAwMDAwMCBuIAowMDAwMDAwMTg0IDAwMDAwIG4gCjAwMDAwMDM2NzkgMDAwMDAgbiAKMDAwMDAw
+MDMxNCAwMDAwMCBuIAowMDAwMDAwNTQyIDAwMDAwIG4gCjAwMDAwMDMwMzggMDAwMDAgbiAKMDAw
+MDAwMzA2MSAwMDAwMCBuIAowMDAwMDAzMzg1IDAwMDAwIG4gCjAwMDAwMDM0MDggMDAwMDAgbiAK
+MDAwMDAwNDEyNyAwMDAwMCBuIAowMDAwMDA0MjU3IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUg
+MTQKICAgL1Jvb3QgMTMgMCBSCiAgIC9JbmZvIDEyIDAgUgo+PgpzdGFydHhyZWYKNDMxMAolJUVP
+Rgo=
+--=-=-=--
+
diff --git a/spec/fixtures/files/fake-authority-type.csv b/spec/fixtures/files/fake-authority-type.csv
index cb25050c6..a320941c7 100644
--- a/spec/fixtures/files/fake-authority-type.csv
+++ b/spec/fixtures/files/fake-authority-type.csv
@@ -2,3 +2,5 @@
,Scottish Fake Authority,scottish_foi@localhost
,Fake Authority of Northern Ireland,ni_foi@localhost
,Gobierno de Aragón,spain_foi@localhost
+,Nordic æøå,no_foi@localhost
+
diff --git a/spec/fixtures/outgoing_messages.yml b/spec/fixtures/outgoing_messages.yml
index 971ce0cc5..92de076c4 100644
--- a/spec/fixtures/outgoing_messages.yml
+++ b/spec/fixtures/outgoing_messages.yml
@@ -12,6 +12,8 @@
# last_sent_at :datetime
# incoming_message_followup_id :integer
# what_doing :string(255) not null
+# prominence :string(255) default("normal"), not null
+# prominence_reason :text
#
useless_outgoing_message:
diff --git a/spec/fixtures/public_bodies.yml b/spec/fixtures/public_bodies.yml
index 71fe0a379..d0eb572b3 100644
--- a/spec/fixtures/public_bodies.yml
+++ b/spec/fixtures/public_bodies.yml
@@ -2,23 +2,27 @@
#
# Table name: public_bodies
#
-# id :integer not null, primary key
-# name :text not null
-# short_name :text not null
-# request_email :text not null
-# version :integer not null
-# last_edit_editor :string(255) not null
-# last_edit_comment :text not null
-# created_at :datetime not null
-# updated_at :datetime not null
-# url_name :text not null
-# home_page :text default(""), not null
-# notes :text default(""), not null
-# first_letter :string(255) not null
-# publication_scheme :text default(""), not null
-# api_key :string(255) not null
-# info_requests_count :integer default(0), not null
-# disclosure_log :text default(""), not null
+# id :integer not null, primary key
+# name :text not null
+# short_name :text not null
+# request_email :text not null
+# version :integer not null
+# last_edit_editor :string(255) not null
+# last_edit_comment :text not null
+# created_at :datetime not null
+# updated_at :datetime not null
+# url_name :text not null
+# home_page :text default(""), not null
+# notes :text default(""), not null
+# first_letter :string(255) not null
+# publication_scheme :text default(""), not null
+# api_key :string(255) not null
+# info_requests_count :integer default(0), not null
+# disclosure_log :text default(""), not null
+# info_requests_successful_count :integer
+# info_requests_not_held_count :integer
+# info_requests_overdue_count :integer
+# info_requests_visible_classified_count :integer
#
geraldine_public_body:
@@ -35,6 +39,7 @@ geraldine_public_body:
created_at: 2007-10-24 10:51:01.161639
api_key: 1
info_requests_count: 4
+ info_requests_visible_classified_count: 4
info_requests_successful_count: 0
info_requests_not_held_count: 0
info_requests_overdue_count: 3
@@ -53,6 +58,7 @@ humpadink_public_body:
notes: An albatross told me!!!
api_key: 2
info_requests_count: 2
+ info_requests_visible_classified_count: 2
info_requests_successful_count: 1
info_requests_not_held_count: 0
info_requests_overdue_count: 1
@@ -71,6 +77,7 @@ forlorn_public_body:
notes: A very lonely public body that no one has corresponded with
api_key: 3
info_requests_count: 0
+ info_requests_visible_classified_count: 0
info_requests_successful_count: 0
info_requests_not_held_count: 0
info_requests_overdue_count: 0
@@ -89,6 +96,7 @@ silly_walks_public_body:
notes: You know the one.
api_key: 4
info_requests_count: 2
+ info_requests_visible_classified_count: 2
info_requests_successful_count: 2
info_requests_not_held_count: 0
info_requests_overdue_count: 0
@@ -107,6 +115,7 @@ sensible_walks_public_body:
created_at: 2008-10-25 10:51:01.161639
api_key: 5
info_requests_count: 1
+ info_requests_visible_classified_count: 1
info_requests_successful_count: 1
info_requests_not_held_count: 0
info_requests_overdue_count: 0
@@ -125,6 +134,7 @@ other_public_body:
created_at: 2008-10-25 10:51:01.161639
api_key: 6
info_requests_count: 0
+ info_requests_visible_classified_count: 0
info_requests_successful_count: 0
info_requests_not_held_count: 0
info_requests_overdue_count: 0
@@ -143,6 +153,7 @@ accented_public_body:
created_at: 2008-10-25 10:51:01.161639
api_key: 7
info_requests_count: 0
+ info_requests_visible_classified_count: 0
info_requests_successful_count: 0
info_requests_not_held_count: 0
info_requests_overdue_count: 0
diff --git a/spec/fixtures/public_body_translations.yml b/spec/fixtures/public_body_translations.yml
index 2030804ac..225bd74e2 100644
--- a/spec/fixtures/public_body_translations.yml
+++ b/spec/fixtures/public_body_translations.yml
@@ -10,6 +10,8 @@ geraldine_es_public_body_translation:
notes: ""
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
geraldine_en_public_body_translation:
name: Geraldine Quango
@@ -23,6 +25,8 @@ geraldine_en_public_body_translation:
notes: ""
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
humpadink_es_public_body_translation:
name: "El Department for Humpadinking"
@@ -36,6 +40,8 @@ humpadink_es_public_body_translation:
notes: Baguette
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
humpadink_en_public_body_translation:
name: "Department for Humpadinking"
@@ -49,6 +55,8 @@ humpadink_en_public_body_translation:
notes: An albatross told me!!!
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
forlorn_en_public_body_translation:
name: "Department of Loneliness"
@@ -62,6 +70,8 @@ forlorn_en_public_body_translation:
notes: A very lonely public body that no one has corresponded with
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
silly_walks_en_public_body_translation:
id: 6
@@ -75,6 +85,8 @@ silly_walks_en_public_body_translation:
notes: You know the one.
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
sensible_walks_en_public_body_translation:
id: 7
@@ -88,6 +100,8 @@ sensible_walks_en_public_body_translation:
notes: I bet you’ve never heard of it.
publication_scheme: ""
disclosure_log: ""
+ created_at: 2008-10-25 10:51:01.161639
+ updated_at: 2008-10-25 10:51:01.161639
other_public_body_translation:
id: 8
@@ -101,6 +115,8 @@ other_public_body_translation:
notes: More notes
publication_scheme: ""
disclosure_log: ""
+ created_at: 2008-10-25 10:51:01.161639
+ updated_at: 2008-10-25 10:51:01.161639
humpadink_he_IL_public_body_translation:
name: "Hebrew Humpadinking"
@@ -114,6 +130,8 @@ humpadink_he_IL_public_body_translation:
notes: An albatross told me!!!
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
accented_public_body_translation:
id: 10
@@ -127,3 +145,5 @@ accented_public_body_translation:
notes: This is to test unicode handling in body names
publication_scheme: ""
disclosure_log: ""
+ created_at: 2008-10-25 10:51:01.161639
+ updated_at: 2008-10-25 10:51:01.161639
diff --git a/spec/fixtures/users.yml b/spec/fixtures/users.yml
index d996fd31e..9eb91ee9c 100644
--- a/spec/fixtures/users.yml
+++ b/spec/fixtures/users.yml
@@ -20,8 +20,6 @@
# email_bounce_message :text default(""), not null
# no_limit :boolean default(FALSE), not null
# receive_email_alerts :boolean default(TRUE), not null
-# address :string(255)
-# dob :date
#
bob_smith_user:
diff --git a/spec/integration/cookie_stripping_spec.rb b/spec/integration/cookie_stripping_spec.rb
new file mode 100644
index 000000000..897899fd5
--- /dev/null
+++ b/spec/integration/cookie_stripping_spec.rb
@@ -0,0 +1,12 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+require File.expand_path(File.dirname(__FILE__) + '/alaveteli_dsl')
+
+describe 'when making stripping cookies' do
+
+ it 'should not set a cookie when no significant session data is set' do
+ get 'country_message'
+ response.headers['Set-Cookie'].should be_blank
+ end
+
+end
+
diff --git a/spec/lib/mail_handler/mail_handler_spec.rb b/spec/lib/mail_handler/mail_handler_spec.rb
index aa351bd94..49a65dade 100644
--- a/spec/lib/mail_handler/mail_handler_spec.rb
+++ b/spec/lib/mail_handler/mail_handler_spec.rb
@@ -235,7 +235,7 @@ describe 'when deriving a name, email and formatted address from a message from
it 'should quote a name with quotes in it' do
should_render_from_address('"FOI \" Person" <foiperson@localhost>',
- ['FOI \" Person',
+ ['FOI " Person',
'foiperson@localhost',
'"FOI \" Person" <foiperson@localhost>'])
end
@@ -409,6 +409,12 @@ describe 'when getting attachment attributes' do
attributes[1][:body].length.should == 7769
end
+ it 'should treat a document/pdf attachment as application/pdf' do
+ mail = get_fixture_mail('document-pdf.email')
+ attributes = MailHandler.get_attachment_attributes(mail)
+ attributes[1][:content_type].should == "application/pdf"
+ end
+
it 'should produce a consistent set of url_part_numbers, content_types, within_rfc822_subjects
and filenames from an example mail with lots of attachments' do
mail = get_fixture_mail('many-attachments-date-header.email')
diff --git a/spec/lib/sendmail_return_path_spec.rb b/spec/lib/sendmail_return_path_spec.rb
deleted file mode 100644
index 83436c2bd..000000000
--- a/spec/lib/sendmail_return_path_spec.rb
+++ /dev/null
@@ -1,88 +0,0 @@
-# This is a test of the monkey patches in sendmail_return_path.rb
-
-# In Rails 3 the monkeypatches are not needed anymore because sendmail now has the "-f" flag
-# set correctly. So, strictly these tests are testing the Rails internals. So, that means we really
-# should delete them. Let's do that later when things have settled down. For the time being leave
-# them in
-
-require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
-
-describe "when sending email with an altered return path" do
- before(:each) { ActionMailer::Base.deliveries = [] }
-
- it "should default to delivery method test" do
- ActionMailer::Base.delivery_method.should == :test
- end
-
- it "should let the helper change the method" do
- with_delivery_method :smtp do
- ActionMailer::Base.delivery_method.should == :smtp
- end
- ActionMailer::Base.delivery_method.should == :test
- end
-
- # Documentation for fancy mock functions: http://rspec.info/documentation/mocks/message_expectations.html
- it "should set the return path when sending email using SMTP" do
- mock_smtp = mock("smtp")
- mock_smtp_session = mock("smtp_session")
-
- mock_smtp.should_receive(:start).once.and_yield(mock_smtp_session)
- # the second parameter to the SMTP session is the sender (return path)
- mock_smtp_session.should_receive(:sendmail).once.with(anything(), "test@localhost", anything())
-
- Net::SMTP.stub!(:new).and_return(mock_smtp)
-
- with_delivery_method :smtp do
- ContactMailer.to_admin_message(
- "Mr. Test", "test@localhost", "Test script spec/lib/sendmail_return_path_spec.rb",
- "This is just a test for a test script", nil, nil, nil
- ).deliver
- end
-
- deliveries = ActionMailer::Base.deliveries
- deliveries.size.should == 0
- end
-
- it "should set the return path when sending email using sendmail" do
- with_stub_popen do
- IO.should_receive(:popen).once.with('/usr/sbin/sendmail -i -t -f "test@localhost" postmaster@localhost', "w+")
- with_delivery_method :sendmail do
- ContactMailer.to_admin_message(
- "Mr. Test", "test@localhost", "Test script spec/lib/sendmail_return_path_spec.rb",
- "This is just a test for a test script", nil, nil, nil
- ).deliver
- end
- end
-
- deliveries = ActionMailer::Base.deliveries
- deliveries.size.should == 0
- end
-
-
- protected
- # Change the way Rails delivers memory, just for current scope
- def with_delivery_method(new_delivery_method)
- old_delivery_method, ActionMailer::Base.delivery_method = ActionMailer::Base.delivery_method, new_delivery_method
- yield
- ensure
- ActionMailer::Base.delivery_method = old_delivery_method
- end
-
- # By default, we can't stub popen, presumably because it is a builtin written in C.
- # Replace it entirely with a normal method that just calls the C one, so we can stub it -
- # this leaves IO working afterwards (for other tests that run in the same instance).
- def with_stub_popen()
- IO.class_eval "@orig_popen = self.method(:popen); def self.popen(a, b, &c); @orig_popen.call(a, b, &c); end"
- begin
- yield
- ensure
- # in theory would undo the popen alterations and return IO to a pristine state, but
- # don't know how to (much fiddling with alias bind and the like didn't help). It
- # doesn't matter - the new popen should behave just the same.
- end
- end
-
-
-end
-
-
diff --git a/spec/lib/theme_spec.rb b/spec/lib/theme_spec.rb
new file mode 100644
index 000000000..829c1a269
--- /dev/null
+++ b/spec/lib/theme_spec.rb
@@ -0,0 +1,25 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe "theme_url_to_theme_name" do
+
+ it "should deal with a typical bare repo URL" do
+ url = 'git://wherever/blah-theme.git'
+ theme_url_to_theme_name(url).should == 'blah-theme'
+ end
+
+ it "should deal with a typical bare repo URL with trailing slashes" do
+ url = 'ssh://wherever/blah-theme.git//'
+ theme_url_to_theme_name(url).should == 'blah-theme'
+ end
+
+ it "should deal with a typical non-bare repo URL" do
+ url = '/home/whoever/themes/blah-theme'
+ theme_url_to_theme_name(url).should == 'blah-theme'
+ end
+
+ it "should deal with a typical non-bare repo URL with a trailing slash" do
+ url = '/home/whoever/themes/blah-theme/'
+ theme_url_to_theme_name(url).should == 'blah-theme'
+ end
+
+end
diff --git a/spec/lib/whatdotheyknow/strip_empty_sessions_spec.rb b/spec/lib/whatdotheyknow/strip_empty_sessions_spec.rb
index 9bd5ccb93..fcd729b48 100644
--- a/spec/lib/whatdotheyknow/strip_empty_sessions_spec.rb
+++ b/spec/lib/whatdotheyknow/strip_empty_sessions_spec.rb
@@ -1,71 +1,71 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
describe WhatDoTheyKnow::StripEmptySessions do
-
+
def make_response(session_data, response_headers)
app = lambda do |env|
env['rack.session'] = session_data
- return [200, response_headers, ['content']]
+ return [200, response_headers, ['content']]
end
strip_empty_sessions = WhatDoTheyKnow::StripEmptySessions
app = strip_empty_sessions.new(app, {:key => 'mykey', :path => '', :httponly => true})
response = Rack::MockRequest.new(app).get('/', 'HTTP_ACCEPT' => 'text/html')
end
-
- it 'should not prevent a cookie being set if there is data in the session' do
- session_data = { :some_real_data => 'important',
- :session_id => 'my_session_id',
- :_csrf_token => 'hi_there' }
- application_response_headers = { 'Content-Type' => 'text/html',
+
+ it 'should not prevent a cookie being set if there is data in the session' do
+ session_data = { 'some_real_data' => 'important',
+ 'session_id' => 'my_session_id',
+ '_csrf_token' => 'hi_there' }
+ application_response_headers = { 'Content-Type' => 'text/html',
'Set-Cookie' => 'mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly'}
response = make_response(session_data, application_response_headers)
response.headers['Set-Cookie'].should == 'mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly'
end
- describe 'if there is no meaningful data in the session' do
+ describe 'if there is no meaningful data in the session' do
- before do
- @session_data = { :session_id => 'my_session_id',
- :_csrf_token => 'hi_there' }
+ before do
+ @session_data = { 'session_id' => 'my_session_id',
+ '_csrf_token' => 'hi_there' }
end
-
- it 'should not strip any other header' do
+
+ it 'should not strip any other header' do
application_response_headers = { 'Content-Type' => 'text/html',
'Set-Cookie' => 'mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly'}
response = make_response(@session_data, application_response_headers)
response.headers['Content-Type'].should == 'text/html'
end
-
- it 'should strip the session cookie setting header ' do
- application_response_headers = { 'Content-Type' => 'text/html',
+
+ it 'should strip the session cookie setting header ' do
+ application_response_headers = { 'Content-Type' => 'text/html',
'Set-Cookie' => 'mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly'}
response = make_response(@session_data, application_response_headers)
response.headers['Set-Cookie'].should == ""
end
-
- it 'should strip the session cookie setting header even with a locale' do
- @session_data[:locale] = 'en'
- application_response_headers = { 'Content-Type' => 'text/html',
+
+ it 'should strip the session cookie setting header even with a locale' do
+ @session_data['locale'] = 'en'
+ application_response_headers = { 'Content-Type' => 'text/html',
'Set-Cookie' => 'mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly'}
response = make_response(@session_data, application_response_headers)
response.headers['Set-Cookie'].should == ""
end
- it 'should not strip the session cookie setting for admins' do
- @session_data[:using_admin] = 1
- application_response_headers = { 'Content-Type' => 'text/html',
+ it 'should not strip the session cookie setting for admins' do
+ @session_data['using_admin'] = 1
+ application_response_headers = { 'Content-Type' => 'text/html',
'Set-Cookie' => 'mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly'}
response = make_response(@session_data, application_response_headers)
response.headers['Set-Cookie'].should == "mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly"
end
-
- it 'should strip the session cookie setting header (but no other cookie setting header) if there is more than one' do
- application_response_headers = { 'Content-Type' => 'text/html',
+
+ it 'should strip the session cookie setting header (but no other cookie setting header) if there is more than one' do
+ application_response_headers = { 'Content-Type' => 'text/html',
'Set-Cookie' => ['mykey=f274c61a35320c52d45e9f8d7d4e2649; path=/; HttpOnly',
'other=mydata']}
response = make_response(@session_data, application_response_headers)
response.headers['Set-Cookie'].should == ['other=mydata']
end
-
+
end
end
diff --git a/spec/mailers/application_mailer_spec.rb b/spec/mailers/application_mailer_spec.rb
index d8993f78f..718ac47fb 100644
--- a/spec/mailers/application_mailer_spec.rb
+++ b/spec/mailers/application_mailer_spec.rb
@@ -13,7 +13,7 @@ describe ApplicationMailer do
end
def add_mail_methods(method_names)
- method_names.each{ |method_name| ApplicationMailer.send(:define_method, method_name){} }
+ method_names.each{ |method_name| ApplicationMailer.send(:define_method, method_name){ mail() } }
end
def remove_mail_methods(method_names)
diff --git a/spec/mailers/request_mailer_spec.rb b/spec/mailers/request_mailer_spec.rb
index 4e0765921..516d13127 100644
--- a/spec/mailers/request_mailer_spec.rb
+++ b/spec/mailers/request_mailer_spec.rb
@@ -332,6 +332,27 @@ describe RequestMailer, 'when sending mail when someone has updated an old uncla
end
+describe RequestMailer, 'when generating a fake response for an upload' do
+
+ before do
+ @foi_officer = mock_model(User, :name_and_email => "FOI officer's name and email")
+ @request_user = mock_model(User)
+ @public_body = mock_model(PublicBody, :name => 'Test public body')
+ @info_request = mock_model(InfoRequest, :user => @request_user,
+ :email_subject_followup => 'Re: Freedom of Information - Test request',
+ :incoming_name_and_email => 'Someone <someone@example.org>')
+ end
+
+ it 'should should generate a "fake response" email with a reasonable subject line' do
+ fake_email = RequestMailer.fake_response(@info_request,
+ @foi_officer,
+ "The body of the email...",
+ "blah.txt",
+ "The content of blah.txt")
+ fake_email.subject.should == "Re: Freedom of Information - Test request"
+ end
+
+end
describe RequestMailer, 'when sending a new response email' do
diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb
index 64ad1972e..dcc94e967 100644
--- a/spec/models/info_request_spec.rb
+++ b/spec/models/info_request_spec.rb
@@ -27,7 +27,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe InfoRequest do
- describe 'when validating', :focus => true do
+ describe 'when validating' do
it 'should accept a summary with ascii characters' do
info_request = InfoRequest.new(:title => 'abcde')
@@ -1030,7 +1030,7 @@ describe InfoRequest do
end
end
- context "another series of events on a request", :focus => true do
+ context "another series of events on a request" do
it "should have sensible event states" do
# An initial request is sent
request.log_event('sent', {})
@@ -1122,5 +1122,59 @@ describe InfoRequest do
end
+ describe InfoRequest, 'when getting similar requests' do
+
+ before(:each) do
+ get_fixtures_xapian_index
+ end
+
+ it 'should return similar requests' do
+ similar, more = info_requests(:spam_1_request).similar_requests(1)
+ similar.results.first[:model].info_request.should == info_requests(:spam_2_request)
+ end
+
+ it 'should return a flag set to true' do
+ similar, more = info_requests(:spam_1_request).similar_requests(1)
+ more.should be_true
+ end
+
+ end
+
+ describe InfoRequest, 'when constructing the list of recent requests' do
+ before(:each) do
+ get_fixtures_xapian_index
+ end
+
+ describe 'when there are fewer than five successful requests' do
+
+ it 'should list the most recently sent and successful requests by the creation date of the
+ request event' do
+ # Make sure the newest response is listed first even if a request
+ # with an older response has a newer comment or was reclassified more recently:
+ # https://github.com/mysociety/alaveteli/issues/370
+ #
+ # This is a deliberate behaviour change, in that the
+ # previous behaviour (showing more-recently-reclassified
+ # requests first) was intentional.
+ request_events, request_events_all_successful = InfoRequest.recent_requests
+ previous = nil
+ request_events.each do |event|
+ if previous
+ previous.created_at.should be >= event.created_at
+ end
+ ['sent', 'response'].include?(event.event_type).should be_true
+ if event.event_type == 'response'
+ ['successful', 'partially_successful'].include?(event.calculated_state).should be_true
+ end
+ previous = event
+ end
+ end
+ end
+
+ it 'should coalesce duplicate requests' do
+ request_events, request_events_all_successful = InfoRequest.recent_requests
+ request_events.map(&:info_request).select{|x|x.url_title =~ /^spam/}.length.should == 1
+ end
+ end
end
diff --git a/spec/models/outgoing_message_spec.rb b/spec/models/outgoing_message_spec.rb
index 8c000665b..bb270ca16 100644
--- a/spec/models/outgoing_message_spec.rb
+++ b/spec/models/outgoing_message_spec.rb
@@ -12,6 +12,8 @@
# last_sent_at :datetime
# incoming_message_followup_id :integer
# what_doing :string(255) not null
+# prominence :string(255) default("normal"), not null
+# prominence_reason :text
#
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb
index 0324e3f5a..ed24ced52 100644
--- a/spec/models/public_body_spec.rb
+++ b/spec/models/public_body_spec.rb
@@ -3,23 +3,27 @@
#
# Table name: public_bodies
#
-# id :integer not null, primary key
-# name :text not null
-# short_name :text not null
-# request_email :text not null
-# version :integer not null
-# last_edit_editor :string(255) not null
-# last_edit_comment :text not null
-# created_at :datetime not null
-# updated_at :datetime not null
-# url_name :text not null
-# home_page :text default(""), not null
-# notes :text default(""), not null
-# first_letter :string(255) not null
-# publication_scheme :text default(""), not null
-# api_key :string(255) not null
-# info_requests_count :integer default(0), not null
-# disclosure_log :text default(""), not null
+# id :integer not null, primary key
+# name :text not null
+# short_name :text not null
+# request_email :text not null
+# version :integer not null
+# last_edit_editor :string(255) not null
+# last_edit_comment :text not null
+# created_at :datetime not null
+# updated_at :datetime not null
+# url_name :text not null
+# home_page :text default(""), not null
+# notes :text default(""), not null
+# first_letter :string(255) not null
+# publication_scheme :text default(""), not null
+# api_key :string(255) not null
+# info_requests_count :integer default(0), not null
+# disclosure_log :text default(""), not null
+# info_requests_successful_count :integer
+# info_requests_not_held_count :integer
+# info_requests_overdue_count :integer
+# info_requests_visible_classified_count :integer
#
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
@@ -209,6 +213,15 @@ describe PublicBody, " when saving" do
public_body.name.should == "Mark's Public Body"
end
+ it 'should update the right translation when in a locale with an underscore' do
+ AlaveteliLocalization.set_locales('he_IL', 'he_IL')
+ public_body = public_bodies(:humpadink_public_body)
+ translation_count = public_body.translations.size
+ public_body.name = 'Renamed'
+ public_body.save!
+ public_body.translations.size.should == translation_count
+ end
+
it 'should not create a new version when nothing has changed' do
@public_body.versions.size.should == 0
set_default_attributes(@public_body)
@@ -320,14 +333,15 @@ describe PublicBody, " when loading CSV files" do
csv_contents = normalize_string_to_utf8(load_file_fixture("fake-authority-type.csv"))
errors, notes = PublicBody.import_csv(csv_contents, '', 'replace', true, 'someadmin') # true means dry run
errors.should == []
- notes.size.should == 5
- notes[0..3].should == [
+ notes.size.should == 6
+ notes[0..4].should == [
"line 1: creating new authority 'North West Fake Authority' (locale: en):\n\t\{\"name\":\"North West Fake Authority\",\"request_email\":\"north_west_foi@localhost\"\}",
"line 2: creating new authority 'Scottish Fake Authority' (locale: en):\n\t\{\"name\":\"Scottish Fake Authority\",\"request_email\":\"scottish_foi@localhost\"\}",
"line 3: creating new authority 'Fake Authority of Northern Ireland' (locale: en):\n\t\{\"name\":\"Fake Authority of Northern Ireland\",\"request_email\":\"ni_foi@localhost\"\}",
"line 4: creating new authority 'Gobierno de Aragón' (locale: en):\n\t\{\"name\":\"Gobierno de Arag\\u00f3n\",\"request_email\":\"spain_foi@localhost\"}",
+ "line 5: creating new authority 'Nordic æøå' (locale: en):\n\t{\"name\":\"Nordic \\u00e6\\u00f8\\u00e5\",\"request_email\":\"no_foi@localhost\"}"
]
- notes[4].should =~ /Notes: Some bodies are in database, but not in CSV file:\n( .+\n)*You may want to delete them manually.\n/
+ notes[5].should =~ /Notes: Some bodies are in database, but not in CSV file:\n( .+\n)*You may want to delete them manually.\n/
PublicBody.count.should == original_count
end
@@ -338,16 +352,17 @@ describe PublicBody, " when loading CSV files" do
csv_contents = normalize_string_to_utf8(load_file_fixture("fake-authority-type.csv"))
errors, notes = PublicBody.import_csv(csv_contents, '', 'replace', false, 'someadmin') # false means real run
errors.should == []
- notes.size.should == 5
- notes[0..3].should == [
+ notes.size.should == 6
+ notes[0..4].should == [
"line 1: creating new authority 'North West Fake Authority' (locale: en):\n\t\{\"name\":\"North West Fake Authority\",\"request_email\":\"north_west_foi@localhost\"\}",
"line 2: creating new authority 'Scottish Fake Authority' (locale: en):\n\t\{\"name\":\"Scottish Fake Authority\",\"request_email\":\"scottish_foi@localhost\"\}",
"line 3: creating new authority 'Fake Authority of Northern Ireland' (locale: en):\n\t\{\"name\":\"Fake Authority of Northern Ireland\",\"request_email\":\"ni_foi@localhost\"\}",
"line 4: creating new authority 'Gobierno de Aragón' (locale: en):\n\t\{\"name\":\"Gobierno de Arag\\u00f3n\",\"request_email\":\"spain_foi@localhost\"}",
+ "line 5: creating new authority 'Nordic æøå' (locale: en):\n\t{\"name\":\"Nordic \\u00e6\\u00f8\\u00e5\",\"request_email\":\"no_foi@localhost\"}"
]
- notes[4].should =~ /Notes: Some bodies are in database, but not in CSV file:\n( .+\n)*You may want to delete them manually.\n/
+ notes[5].should =~ /Notes: Some bodies are in database, but not in CSV file:\n( .+\n)*You may want to delete them manually.\n/
- PublicBody.count.should == original_count + 4
+ PublicBody.count.should == original_count + 5
end
it "should do imports without a tag successfully" do
@@ -356,15 +371,16 @@ describe PublicBody, " when loading CSV files" do
csv_contents = normalize_string_to_utf8(load_file_fixture("fake-authority-type.csv"))
errors, notes = PublicBody.import_csv(csv_contents, '', 'replace', false, 'someadmin') # false means real run
errors.should == []
- notes.size.should == 5
- notes[0..3].should == [
+ notes.size.should == 6
+ notes[0..4].should == [
"line 1: creating new authority 'North West Fake Authority' (locale: en):\n\t\{\"name\":\"North West Fake Authority\",\"request_email\":\"north_west_foi@localhost\"\}",
"line 2: creating new authority 'Scottish Fake Authority' (locale: en):\n\t\{\"name\":\"Scottish Fake Authority\",\"request_email\":\"scottish_foi@localhost\"\}",
"line 3: creating new authority 'Fake Authority of Northern Ireland' (locale: en):\n\t\{\"name\":\"Fake Authority of Northern Ireland\",\"request_email\":\"ni_foi@localhost\"\}",
"line 4: creating new authority 'Gobierno de Aragón' (locale: en):\n\t\{\"name\":\"Gobierno de Arag\\u00f3n\",\"request_email\":\"spain_foi@localhost\"}",
+ "line 5: creating new authority 'Nordic æøå' (locale: en):\n\t{\"name\":\"Nordic \\u00e6\\u00f8\\u00e5\",\"request_email\":\"no_foi@localhost\"}"
]
- notes[4].should =~ /Notes: Some bodies are in database, but not in CSV file:\n( .+\n)*You may want to delete them manually.\n/
- PublicBody.count.should == original_count + 4
+ notes[5].should =~ /Notes: Some bodies are in database, but not in CSV file:\n( .+\n)*You may want to delete them manually.\n/
+ PublicBody.count.should == original_count + 5
end
it "should handle a field list and fields out of order" do
@@ -466,6 +482,20 @@ describe PublicBody, " when loading CSV files" do
PublicBody.count.should == original_count
end
+
+ it "should be able to load CSV from a file as well as a string" do
+ # Essentially the same code is used for import_csv_from_file
+ # as import_csv, so this is just a basic check that
+ # import_csv_from_file can load from a file at all. (It would
+ # be easy to introduce a regression that broke this, because
+ # of the confusing change in behaviour of CSV.parse between
+ # Ruby 1.8 and 1.9.)
+ original_count = PublicBody.count
+ filename = file_fixture_name('fake-authority-type-with-field-names.csv')
+ PublicBody.import_csv_from_file(filename, '', 'replace', false, 'someadmin')
+ PublicBody.count.should == original_count + 3
+ end
+
end
describe PublicBody do
@@ -523,3 +553,86 @@ describe PublicBody, " when override all public body request emails set" do
@geraldine.request_email.should == "catch_all_test_email@foo.com"
end
end
+
+describe PublicBody, "when calculating statistics" do
+
+ it "should not include unclassified or hidden requests in percentages" do
+ with_hidden_and_successful_requests do
+ totals_data = PublicBody.get_request_totals(n=3,
+ highest=true,
+ minimum_requests=1)
+ # For the total number of requests, we still include
+ # hidden or unclassified requests:
+ totals_data['public_bodies'][-1].name.should == "Geraldine Quango"
+ totals_data['totals'][-1].should == 4
+
+ # However, for percentages, don't include the hidden or
+ # unclassified requests. So, for the Geraldine Quango
+ # we've made sure that there are only two visible and
+ # classified requests, one of which is successful, so the
+ # percentage should be 50%:
+
+ percentages_data = PublicBody.get_request_percentages(column='info_requests_successful_count',
+ n=3,
+ highest=false,
+ minimum_requests=1)
+ geraldine_index = percentages_data['public_bodies'].index do |pb|
+ pb.name == "Geraldine Quango"
+ end
+
+ percentages_data['y_values'][geraldine_index].should == 50
+ end
+ end
+
+ it "should only return totals for those with at least a minimum number of requests" do
+ minimum_requests = 1
+ with_enough_info_requests = PublicBody.where(["info_requests_count >= ?",
+ minimum_requests]).length
+ all_data = PublicBody.get_request_totals 4, true, minimum_requests
+ all_data['public_bodies'].length.should == with_enough_info_requests
+ end
+
+ it "should only return percentages for those with at least a minimum number of requests" do
+ with_hidden_and_successful_requests do
+ # With minimum requests at 3, this should return nil
+ # (corresponding to zero public bodies) since the only
+ # public body with just more than 3 info requests (The
+ # Geraldine Quango) has a hidden and an unclassified
+ # request within this block:
+ minimum_requests = 3
+ with_enough_info_requests = PublicBody.where(["info_requests_visible_classified_count >= ?",
+ minimum_requests]).length
+ all_data = PublicBody.get_request_percentages(column='info_requests_successful_count',
+ n=10,
+ true,
+ minimum_requests)
+ all_data.should be_nil
+ end
+ end
+
+ it "should only return those with at least a minimum number of requests, but not tagged 'test'" do
+ hpb = PublicBody.find_by_name 'Department for Humpadinking'
+
+ original_tag_string = hpb.tag_string
+ hpb.add_tag_if_not_already_present 'test'
+
+ begin
+ minimum_requests = 1
+ with_enough_info_requests = PublicBody.where(["info_requests_count >= ?", minimum_requests])
+ all_data = PublicBody.get_request_totals 4, true, minimum_requests
+ all_data['public_bodies'].length.should == 3
+ ensure
+ hpb.tag_string = original_tag_string
+ end
+ end
+
+end
+
+describe PublicBody, 'when asked for popular bodies' do
+
+ it 'should return bodies correctly when passed the hyphenated version of the locale' do
+ AlaveteliConfiguration.stub!(:frontpage_publicbody_examples).and_return('')
+ PublicBody.popular_bodies('he-IL').should == [public_bodies(:humpadink_public_body)]
+ end
+
+end
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index f380f6f13..cbbf4b5ce 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -20,8 +20,6 @@
# email_bounce_message :text default(""), not null
# no_limit :boolean default(FALSE), not null
# receive_email_alerts :boolean default(TRUE), not null
-# address :string(255)
-# dob :date
#
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
diff --git a/spec/models/xapian_spec.rb b/spec/models/xapian_spec.rb
index 3c9fff784..a1e060d8e 100644
--- a/spec/models/xapian_spec.rb
+++ b/spec/models/xapian_spec.rb
@@ -370,7 +370,7 @@ describe PublicBody, " when only indexing selected things on a rebuild" do
end
end
-# I would expect ActsAsXapian to have some tests under vendor/plugins/acts_as_xapian, but
+# I would expect ActsAsXapian to have some tests under lib/acts_as_xapian, but
# it looks like this is not the case. Putting a test here instead.
describe ActsAsXapian::Search, "#words_to_highlight" do
before(:each) do
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 6e65018f1..1eeb8603b 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -13,6 +13,10 @@ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
SimpleCov.start('rails') do
add_filter 'commonlib'
add_filter 'vendor/plugins'
+ add_filter 'lib/strip_attributes'
+ add_filter 'lib/has_tag_string'
+ add_filter 'lib/acts_as_xapian'
+ add_filter 'lib/themes'
end
Spork.prefork do
@@ -158,6 +162,39 @@ Spork.prefork do
ActiveRecord::Base.default_timezone = old_zone
end
+ # To test the statistics calculations, it's helpful to have the
+ # request fixtures in different states, but changing the fixtures
+ # themselves disrupts many other tests. This function takes a
+ # block, and runs that block with the info requests for the
+ # Geraldine Quango altered so that one is hidden and there's a
+ # successful one.
+ def with_hidden_and_successful_requests
+ external = info_requests(:external_request)
+ chicken = info_requests(:naughty_chicken_request)
+ old_external_prominence = external.prominence
+ old_chicken_described_state = chicken.described_state
+ begin
+ external.prominence = 'hidden'
+ external.save!
+ chicken.described_state = 'successful'
+ chicken.save!
+ yield
+ ensure
+ external.prominence = old_external_prominence
+ external.save!
+ chicken.described_state = old_chicken_described_state
+ chicken.save!
+ end
+ end
+
+ def with_default_locale(locale)
+ original_default_locale = I18n.default_locale
+ I18n.default_locale = locale
+ yield
+ ensure
+ I18n.default_locale = original_default_locale
+ end
+
def load_test_categories
PublicBodyCategories.add(:en, [
"Local and regional",
diff --git a/vendor/plugins/acts_as_xapian/.cvsignore b/vendor/plugins/acts_as_xapian/.cvsignore
deleted file mode 100644
index 6379fb207..000000000
--- a/vendor/plugins/acts_as_xapian/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-xapiandbs
-.git
diff --git a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb b/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb
deleted file mode 100644
index a1cd1801d..000000000
--- a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-class ActsAsXapianGenerator < Rails::Generator::Base
- def manifest
- record do |m|
- m.migration_template 'migration.rb', 'db/migrate',
- :migration_file_name => "create_acts_as_xapian"
- end
- end
-
- protected
- def banner
- "Usage: #{$0} acts_as_xapian"
- end
-end
diff --git a/vendor/plugins/acts_as_xapian/init.rb b/vendor/plugins/acts_as_xapian/init.rb
deleted file mode 100644
index 1e5b8557b..000000000
--- a/vendor/plugins/acts_as_xapian/init.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# acts_as_xapian/init.rb:
-#
-# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
-# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
-
-require 'acts_as_xapian'
-
diff --git a/vendor/plugins/has_tag_string/init.rb b/vendor/plugins/has_tag_string/init.rb
deleted file mode 100644
index 4a07073a7..000000000
--- a/vendor/plugins/has_tag_string/init.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-require 'has_tag_string'
-
diff --git a/vendor/plugins/strip_attributes/.gitignore b/vendor/plugins/strip_attributes/.gitignore
deleted file mode 100644
index 1a240903a..000000000
--- a/vendor/plugins/strip_attributes/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-rdoc \ No newline at end of file
diff --git a/vendor/plugins/strip_attributes/init.rb b/vendor/plugins/strip_attributes/init.rb
deleted file mode 100644
index 2c71b29bc..000000000
--- a/vendor/plugins/strip_attributes/init.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-require 'strip_attributes'
-ActiveRecord::Base.extend(StripAttributes)